Function at 0x10016dbe
Capabilities:
Get common file path
Get disk information
Get file system object information

Disassembly:
mov eax, 0x100805b1
call fcn.1007fd98
sub esp, 0x1b8
push ebx
push esi
push edi
push 2
xor edi, edi
mov dword [ebp - 0x9c], ecx
pop esi
inc edi
mov dword [ebp - 0xc4], edx
mov dword [ebp - 0x14], edi
lea ecx, [ebp - 0x70]
push esi
call fcn.10014d59
xor ebx, ebx
lea ecx, [ebp - 0xd0]
mov dword [ebp - 4], ebx
mov dword [ebp - 0x20], 0x79763266
mov dword [ebp - 0x18], 0xcc92ea21
push edi
call fcn.10014d59
mov dword [ebp - 0x2c], 0x1b713623
mov dword [ebp - 0x24], 0x377963f6
mov dword [ebp - 0x28], 0xeb4e
mov dword [ebp - 0x20], ebx
jmp 0x10016e38
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x70]
mov dword [eax + ecx*4], 0xfffffffd
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x10016e28
mov dword [ebp - 0x20], ebx
jmp 0x10016e55
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xd0]
mov dword [eax + ecx*4], 0x4e1c2e93
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x10016e42
mov dword [ebp - 0x20], edi
cmp dword [ebp - 0x20], ebx
jl 0x10016fda
mov dword [ebp - 0x1c], 0x800ff68e
mov dword [ebp - 0x18], ebx
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x70]
cmp dword [eax + ecx*4], ebx
jne 0x10016e7e
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jne 0x10016e8d
mov eax, dword [ebp - 0x70]
mov esi, ebx
cmp dword [eax + 4], ebx
je 0x10016e8f
mov esi, edi
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov edx, dword [ebp - 0x70]
cmp esi, dword [edx + eax*4]
setge cl
mov dword [ebp - 0x18], ecx
mov ecx, dword [edx]
xor edx, edx
mov eax, dword [ebp - 0x18]
imul eax, ecx
add eax, 0xb96c
cmp ecx, eax
mov eax, dword [ebp - 0xd0]
mov ecx, edi
setl dl
mov dword [eax], edx
test edx, edx
jne 0x10016ec4
mov ecx, ebx
xor eax, eax
cmp ecx, 0x1dab
setle al
xor ebx, ebx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x1c], 2
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x20]
mov edx, dword [ebp - 0x70]
mov eax, dword [edx + eax*4]
cmp eax, dword [edx + ecx*4]
setge bl
sub ebx, 0xf314d41b
add ebx, dword [edx + esi*4]
neg ebx
sbb ebx, ebx
xor edx, edx
inc ebx
mov dword [ebp - 0x18], ebx
mov ecx, dword [ebp - 0x18]
add ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
cmp ecx, eax
setl dl
sub edx, 0xfffffff6
neg edx
sbb edx, edx
xor ebx, ebx
inc edx
cmp edx, 0x64f9
jne 0x10016fc1
mov dword [ebp - 0x30], 0xfffffffe
cmp dword [ebp - 0x18], ebx
jne 0x10016f40
mov ecx, ebx
cmp dword [ebp - 0x1c], ebx
je 0x10016f42
mov ecx, edi
mov eax, dword [ebp - 0x30]
imul eax, ecx
test eax, eax
je 0x10016f53
mov edx, edi
cmp dword [ebp - 0x2c], ebx
jne 0x10016f55
mov edx, ebx
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x70]
add ecx, edx
xor edx, edx
cmp dword [eax + 4], ecx
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x70]
setg dl
imul ecx, edx
cmp ecx, dword [eax + esi*4]
jg 0x10016f82
mov eax, edi
cmp dword [ebp - 0x30], ebx
jne 0x10016f84
mov eax, ebx
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
je 0x10016f9a
mov dword [ebp - 0x30], 0xffffffff
cmp dword [ebp - 0x30], ebx
jne 0x10016fd7
jmp 0x10016fbc
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], bl
je 0x10016fae
push 0x680
push ebx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], bl
je 0x10016fbc
call dword [sym.imp.USER32.dll_GetMessageTime]
mov eax, dword [ebp - 0x2c]
jmp 0x10016fce
mov dword [ebp - 0x2c], 0xffffffff
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], eax
dec dword [ebp - 0x20]
jns 0x10016e66
push 2
pop esi
lea ecx, [ebp - 0xd0]
call fcn.100155d3
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x70]
call fcn.100155d3
mov dword [ebp - 0x20], 0xffffffff
lea ecx, [ebp - 0xdc]
push edi
call fcn.10014d59
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x24], 0x3248c66
mov dword [ebp - 0x1c], ebx
jmp 0x1001702a
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xdc]
mov dword [eax + ecx*4], 0x5d6c05ba
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x10017017
mov dword [ebp - 0x1c], ebx
jmp 0x10017047
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xdc]
mov dword [eax + ecx*4], 3
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x10017034
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0xdc]
mov dword [eax], ecx
lea ecx, [ebp - 0xdc]
call fcn.100155d3
push 4
pop ecx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x24], 0xfffffffd
mov dword [ebp - 0x24], 0x6684
mov dword [ebp - 0x24], 0xa219909d
mov dword [ebp - 0x1c], ebx
jmp 0x10017099
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1c4], 0xfffffffc
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x10017088
mov dword [ebp - 0x1c], ebx
jmp 0x100170b1
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1b0], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x100170a4
mov dword [ebp - 0x1c], ebx
jmp 0x100170c8
mov dword [ebp - 0x28], 0xffffffff
inc dword [ebp - 0x28]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jle 0x100170bb
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], 0xffffffe7
jle 0x10017192
mov dword [ebp - 0x2c], 0x36b1
lea ecx, [ebp - 0x1a0]
mov dword [ebp - 0x28], 0x38e85a7b
mov dword [ebp - 0x24], ebx
push 3
call fcn.10014d59
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x24], 0x683a7ef2
mov dword [ebp - 0x30], 0x514faf14
mov dword [ebp - 0x24], 7
mov dword [ebp - 0x18], ebx
jmp 0x10017128
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1a0]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10017119
mov eax, dword [ebp - 0x30]
xor ecx, ecx
mov eax, dword [ebp - 0x28]
cmp eax, 0xdd79
setl cl
xor ebx, ebx
imul ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1a4]
cmp ecx, eax
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1c]
setge bl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x2c]
setge dl
xor ecx, ecx
cmp ebx, eax
setg cl
xor eax, eax
cmp edx, ecx
lea ecx, [ebp - 0x1a0]
setle al
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x24], 0x782ecc90
call fcn.100155d3
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xffffffe7
push 0
pop ebx
jg 0x100170da
mov dword [ebp - 0x24], 0x622cfb64
lea ecx, [ebp - 0x158]
push esi
call fcn.10014d59
mov dword [ebp - 0x28], 0xec3203bd
mov dword [ebp - 0x24], 7
mov dword [ebp - 0x18], ebx
jmp 0x100171cb
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x158]
mov dword [eax + ecx*4], 0xfff7
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x100171b8
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x100171ec
push ebx
push ebx
push 0x145f
push 0x4f8
push ebx
call dword [sym.imp.USER32.dll_InsertMenuW]
mov eax, dword [ebp - 0x158]
xor ecx, ecx
mov dword [ebp - 0x28], edi
mov edi, dword [eax + 4]
mov esi, dword [eax]
mov eax, dword [ebp - 0x28]
cmp eax, edi
setle cl
xor edx, edx
imul ecx, esi
cmp ecx, 0x1f90ef30
setl dl
xor eax, eax
cmp esi, 0xffffffff
setl al
xor ecx, ecx
imul eax, esi
cmp eax, edx
setl cl
inc ecx
neg ecx
sbb ecx, ecx
inc edi
add ecx, edi
mov dword [ebp - 0x24], ecx
lea ecx, [ebp - 0x158]
call fcn.100155d3
mov edi, dword [sym.imp.USER32.dll_GetDC]
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
mov ebx, dword [sym.imp.USER32.dll_GetDesktopWindow]
je 0x1001733f
push 3
lea ecx, [ebp - 0x188]
call fcn.10014d59
xor esi, esi
lea ecx, [ebp - 0x170]
inc esi
push 2
mov dword [ebp - 4], esi
call fcn.10014d59
xor edx, edx
mov dword [ebp - 0x1c], 0xcee61780
mov dword [ebp - 0x1c], edx
jmp 0x10017294
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x188]
mov dword [eax + ecx*4], 0xae9714a
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x10017281
mov dword [ebp - 0x1c], edx
jmp 0x100172ae
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x170]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1001729f
mov dword [ebp - 0x1c], edx
jmp 0x100172ca
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x11c], 0xfffffff8
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x100172b9
inc dword [ebp - 0x114]
mov dword [ebp - 0x1c], 0xfffffffc
jmp 0x10017311
mov dword [ebp - 0x18], 2
mov dword [ebp - 0x18], edx
jmp 0x10017300
mov byte [ebp - 0xd], dl
cmp byte [ebp - 0xd], 0
je 0x100172fd
push edx
call dword [sym.imp.ADVAPI32.dll_GetLengthSid]
xor edx, edx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jle 0x100172eb
cmp dword [ebp - 0x114], edx
jne 0x10017317
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xffffffe6
jg 0x100172df
lea ecx, [ebp - 0x170]
call fcn.100155d3
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x188]
call fcn.100155d3
call ebx
push eax
call edi
push eax
call dword [sym.imp.GDI32.dll_CreateHalftonePalette]
jmp 0x10017342
xor esi, esi
inc esi
dec dword [ebp - 0x14]
je 0x10017413
mov eax, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x14]
sub ecx, eax
mov eax, dword [ebp - 0x14]
cmp ecx, eax
setle dl
sub edx, 0x3c2f893b
je 0x1001736b
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
dec eax
neg eax
sbb eax, eax
add eax, 0xc2c7a1ee
neg eax
sbb eax, eax
inc eax
sub eax, dword [ebp - 0x14]
neg eax
sbb eax, eax
neg eax
add eax, 0xfffffffc
je 0x10017397
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
dec eax
neg eax
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x14]
jl 0x100173af
cmp dword [ebp - 0x20], 0
je 0x100173af
mov edx, esi
jmp 0x100173b1
xor edx, edx
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x20]
setl cl
xor edx, edx
cmp ecx, eax
setl dl
sub edx, dword [ebp - 0x20]
shl edx, 2
test edx, edx
jne 0x100173d8
cmp dword [ebp - 0x14], edx
jne 0x100173d8
xor ecx, ecx
jmp 0x100173da
mov ecx, esi
mov eax, dword [ebp - 0x20]
imul eax, ecx
cmp eax, dword [ebp - 0x20]
je 0x100173ef
cmp dword [ebp - 0x14], 0
je 0x100173ef
mov ecx, esi
jmp 0x100173f1
xor ecx, ecx
mov eax, dword [ebp - 0x20]
xor edx, edx
mov dword [ebp - 0x28], eax
add ecx, 0x5601
mov eax, dword [ebp - 0x28]
cmp eax, ecx
setl dl
imul edx, dword [ebp - 0x20]
test edx, edx
je 0x10017413
mov eax, esi
jmp 0x10017415
xor eax, eax
mov dword [ebp - 0x24], eax
lea ecx, [ebp - 0x164]
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x28], 7
mov dword [ebp - 0x24], 0
push 4
call fcn.10014d59
mov dword [ebp - 0x14], 0
jmp 0x10017457
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xa8], 0xfffffffd
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10017446
mov dword [ebp - 0x14], 0
jmp 0x10017479
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x164]
mov dword [eax + ecx*4], 0x25062d7b
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x10017466
mov eax, dword [ebp - 0x30]
xor ecx, ecx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
cmp eax, 0xaa0a5dec
setne cl
imul eax, ecx, 0x3f7e
xor ecx, ecx
cmp eax, 0xffffffff
mov eax, dword [ebp - 0x24]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
setl dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0xa4]
setl cl
xor edx, edx
sub ecx, 0xa
cmp eax, ecx
setge dl
xor ecx, ecx
mov dword [ebp - 0xa4], edx
mov eax, dword [ebp - 0x30]
cmp edx, eax
mov eax, dword [ebp - 0x164]
setne cl
xor edx, edx
cmp ecx, 4
lea ecx, [ebp - 0x164]
setge dl
mov dword [eax], edx
call fcn.100155d3
push esi
lea ecx, [ebp - 0x90]
call fcn.10014d59
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x194]
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x18], 0x213ec752
push 4
call fcn.10014d59
xor edx, edx
mov dword [ebp - 0x14], edx
jmp 0x1001753c
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x90]
mov dword [eax + ecx*4], 0xb0f7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10017529
mov dword [ebp - 0x14], edx
jmp 0x10017559
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x194]
mov dword [eax + ecx*4], 0xdc02
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x10017546
mov eax, dword [ebp - 0x90]
xor ecx, ecx
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x18]
cmp eax, 0x66bb
setne cl
cmp ecx, 0xffff
ja 0x1001758b
mov eax, dword [ebp - 0x90]
mov ecx, edx
cmp dword [eax], edx
je 0x1001758d
mov ecx, esi
xor eax, eax
cmp ecx, esi
setle al
xor ecx, ecx
imul eax, dword [ebp - 0x18]
imul eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x90]
mov esi, dword [eax]
mov eax, dword [ebp - 0x18]
cmp eax, esi
setge cl
cmp ecx, esi
jg 0x100175bd
test esi, esi
jne 0x100175bd
mov ecx, edx
jmp 0x100175c0
xor ecx, ecx
inc ecx
xor eax, eax
cmp ecx, esi
sete al
xor edx, edx
cmp eax, esi
setne dl
xor ecx, ecx
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x90]
cmp dword [eax], edx
setge cl
mov dword [ebp - 0x14], ecx
lea ecx, [ebp - 0x194]
call fcn.100155d3
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x90]
call fcn.100155d3
mov dword [ebp - 0x20], 0xad3b3152
mov dword [ebp - 0x28], 0x40c18ab9
mov dword [ebp - 0x28], 0x3a4d1b40
mov dword [ebp - 0x24], 0xd214
mov dword [ebp - 0x18], 0
jmp 0x1001762e
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x54], 0x5f70ad6f
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10017620
mov dword [ebp - 0x54], 0
jmp 0x10017652
mov byte [ebp - 0xd], 0
cmp byte [ebp - 0xd], 0
je 0x1001764f
push 0
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
inc dword [ebp - 0x54]
cmp dword [ebp - 0x54], 0xf
je 0x1001763d
xor esi, esi
mov dword [ebp - 0x20], 2
inc esi
cmp dword [ebp - 0x20], 0
jl 0x1001771b
push esi
lea ecx, [ebp - 0xe8]
call fcn.10014d59
mov dword [ebp - 0x18], 0
jmp 0x10017694
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xe8]
mov dword [eax + ecx*4], 0xcc4b7c70
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10017681
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x54]
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp + eax*4 - 0x54]
mov eax, dword [ebp - 0xe8]
mov dword [eax], edx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x54]
cmp edx, eax
mov eax, dword [ebp - 0x20]
setl cl
cmp ecx, dword [ebp + eax*4 - 0x54]
jle 0x100176d3
cmp dword [ebp - 0x20], 0
je 0x100176d3
mov ecx, esi
jmp 0x100176d5
xor ecx, ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x54]
imul eax, ecx
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x28], 0x8787d636
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x54]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xe8]
mov dword [eax], ecx
lea ecx, [ebp - 0xe8]
call fcn.100155d3
dec dword [ebp - 0x20]
jns 0x1001766c
mov dword [ebp - 0x24], 0xba772304
mov dword [ebp - 0x18], 0
jmp 0x10017739
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x40], 7
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1001772b
mov dword [ebp - 0x40], 0x1d
jmp 0x10017757
mov dword [ebp - 0x28], 0xfffffffc
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
dec dword [ebp - 0x40]
cmp dword [ebp - 0x40], 0xffffffe6
jg 0x10017747
mov dword [ebp - 0x14], 0xd69f4288
lea ecx, [ebp - 0xb4]
push esi
call fcn.10014d59
push 8
pop eax
mov dword [ebp - 0x30], eax
xor edx, edx
mov dword [ebp - 0x2c], 7
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x28], 0x2715ee56
mov dword [ebp - 0x24], 0xce3044b1
mov dword [ebp - 0x1c], edx
jmp 0x100177a4
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xb4]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10017795
mov dword [ebp - 0x1c], edx
jmp 0x100177bc
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x78], 7
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x100177ae
mov dword [ebp - 0x1c], edx
jmp 0x100177d5
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x64], 0xd345464c
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x100177c7
mov eax, dword [ebp - 0x18]
inc dword [ebp - 0x18]
test eax, eax
je 0x1001781b
cmp dword [ebp - 0x30], edx
jne 0x10017806
mov eax, dword [ebp - 0x2c]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0xb4]
cmp dword [eax], edx
jne 0x1001780c
mov ecx, edx
jmp 0x1001780e
mov eax, dword [ebp - 0xb4]
mov ecx, esi
cmp ecx, dword [eax]
je 0x10017815
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x78]
mov eax, dword [ebp - 0x78]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2c]
mov byte [ebp - 0xd], dl
cmp byte [ebp - 0xd], dl
je 0x10017838
push edx
push 0xaff
call dword [sym.imp.SHELL32.dll_Shell_NotifyIconW]
mov eax, dword [ebp - 0x64]
xor ecx, ecx
cmp eax, 0xc3bc
mov eax, dword [ebp - 0x74]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x64]
setl dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x14]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0xb4]
sete dl
mov dword [eax], edx
test edx, edx
je 0x10017879
cmp dword [ebp - 0x78], 0
je 0x10017879
mov eax, esi
jmp 0x1001787b
xor eax, eax
cmp eax, dword [ebp - 0x30]
je 0x1001788a
cmp dword [ebp - 0x14], 0
jne 0x1001788a
xor eax, eax
jmp 0x1001788c
mov eax, esi
mov dword [ebp - 0x24], eax
lea ecx, [ebp - 0xb4]
call fcn.100155d3
mov dword [ebp - 0x5c], 0xfecafe8
xor edx, edx
mov dword [ebp - 0x34], 0xfffffff8
mov dword [ebp - 0x60], 6
mov dword [ebp - 0x20], 0x30f94f37
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x18], edx
jmp 0x100178ce
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x48], 0xc2e0cf57
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x100178c0
mov dword [ebp - 0x20], edx
cmp dword [ebp - 0x20], edx
jl 0x1001796b
mov dword [ebp - 0x14], 0xccbad86e
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x14], edx
jmp 0x1001792e
mov dword [ebp - 0x18], 0x80e3580d
mov dword [ebp - 0x18], edx
cmp dword [ebp - 0x18], edx
jl 0x1001792b
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x48], edx
jne 0x1001792b
mov byte [ebp - 0xd], dl
cmp byte [ebp - 0xd], 0
je 0x10017926
push edx
push edx
push 0x11d5
push 0x241
call ebx
push eax
call dword [sym.imp.USER32.dll_ScrollWindow]
xor edx, edx
dec dword [ebp - 0x18]
jns 0x100178fd
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jle 0x100178ee
mov eax, dword [ebp - 0x20]
cmp dword [ebp + eax*4 - 0x48], edx
je 0x10017942
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x48]
mov ecx, dword [ebp - 0x48]
sub ecx, eax
je 0x1001795d
mov eax, esi
cmp dword [ebp - 0x24], edx
jne 0x1001795f
mov eax, edx
mov dword [ebp - 0x24], eax
dec dword [ebp - 0x20]
jns 0x100178df
mov byte [ebp - 0xd], dl
cmp byte [ebp - 0xd], 0
je 0x1001798d
push 0x1711
push 0x1c5a
push edx
push 0x1adf
push edx
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
xor edx, edx
mov eax, 0x2d5e48d3
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x14], 0x52061f6
mov dword [ebp - 0x14], edx
jmp 0x100179cd
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + eax*4 - 0x110]
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x110], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jle 0x100179b6
mov dword [ebp - 0x14], edx
jmp 0x100179ed
mov byte [ebp - 0xd], dl
cmp byte [ebp - 0xd], 0
je 0x100179ea
push edx
call dword [sym.imp.GDI32.dll_CreateRectRgnIndirect]
xor edx, edx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x100179d8
mov dword [ebp - 0x58], 0x6a9d9e17
lea ecx, [ebp - 0x140]
mov dword [ebp - 0x24], 0x531defce
mov dword [ebp - 0x18], 0x1928c176
push 2
call fcn.10014d59
xor edx, edx
mov dword [ebp - 0x14], edx
jmp 0x10017a2d
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1b8], 0xfffffffa
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10017a1c
mov dword [ebp - 0x14], edx
jmp 0x10017a4b
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x140]
mov dword [eax + ecx*4], 0x845d
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10017a38
mov dword [ebp - 0x18], edx
jmp 0x10017a6b
mov byte [ebp - 0xd], dl
cmp byte [ebp - 0xd], 0
je 0x10017a68
push edx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
xor edx, edx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x16
jne 0x10017a56
mov eax, dword [ebp - 0x140]
lea ecx, [ebp - 0x140]
dec dword [eax]
call fcn.100155d3
xor ecx, ecx
mov dword [ebp - 0x24], 0xba772304
mov dword [ebp - 0x18], ecx
jmp 0x10017aa0
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x44], 7
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10017a92
mov dword [ebp - 0x44], 0x1d
jmp 0x10017abe
mov dword [ebp - 0x28], 0xfffffffc
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
dec dword [ebp - 0x44]
cmp dword [ebp - 0x44], 0xffffffe6
jg 0x10017aae
mov dword [ebp - 0xbc], 0xfffffff7
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x24], 0x9dade661
mov dword [ebp - 0x24], 0x8bc07c20
mov dword [ebp - 0x24], 0x2ba167c2
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x18], ecx
jmp 0x10017b0a
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xf0], 0xae355683
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x10017af9
mov dword [ebp - 0x18], ecx
jmp 0x10017bd3
mov dword [ebp - 0x14], 0x9ea9831
mov dword [ebp - 0x24], 0x3e763161
mov dword [ebp - 0x24], 0xc234ac01
mov dword [ebp - 0x14], esi
cmp dword [ebp - 0x14], ecx
jl 0x10017b8e
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x24], 0x3244d513
mov byte [ebp - 0xd], cl
cmp byte [ebp - 0xd], 0
je 0x10017b5b
push ecx
call ebx
push eax
call edi
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
xor ecx, ecx
mov dword [ebp - 0x20], ecx
jmp 0x10017b84
mov byte [ebp - 0xd], cl
cmp byte [ebp - 0xd], 0
je 0x10017b74
call ebx
push eax
call dword [sym.imp.USER32.dll_GetMenu]
xor ecx, ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0xf0]
mov dword [ebp - 0x24], eax
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jle 0x10017b60
dec dword [ebp - 0x14]
jns 0x10017b35
mov dword [ebp - 0x14], esi
cmp dword [ebp - 0x14], ecx
jl 0x10017bd0
mov dword [ebp - 0x20], 0xffaf0720
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x24], 4
mov dword [ebp - 0x20], ecx
jmp 0x10017bc6
mov dword [ebp - 0x24], 0x61b5
inc dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0xf0]
mov dword [ebp - 0x24], eax
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jle 0x10017bac
dec dword [ebp - 0x14]
jns 0x10017b96
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jle 0x10017b18
mov byte [ebp - 0xd], cl
cmp byte [ebp - 0xd], 0
je 0x10017bf4
push ecx
push ecx
call ebx
push eax
push 0
push 0
call dword [sym.imp.USER32.dll_DialogBoxParamA]
mov dword [ebp - 0xa0], esi
lea ecx, [ebp - 0x84]
push esi
call fcn.10014d59
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x17c]
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x18], 0x213ec752
push 4
call fcn.10014d59
xor edx, edx
mov dword [ebp - 0x14], edx
jmp 0x10017c3e
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x84]
mov dword [eax + ecx*4], 0xb0f7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10017c2b
mov dword [ebp - 0x14], edx
jmp 0x10017c5b
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x17c]
mov dword [eax + ecx*4], 0xdc02
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x10017c48
mov eax, dword [ebp - 0x84]
xor ecx, ecx
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x18]
cmp eax, 0x66bb
setne cl
cmp ecx, 0xffff
ja 0x10017c8d
mov eax, dword [ebp - 0x84]
mov ecx, edx
cmp dword [eax], edx
je 0x10017c8f
mov ecx, esi
xor eax, eax
cmp ecx, esi
setle al
xor ecx, ecx
imul eax, dword [ebp - 0x18]
imul eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x84]
mov esi, dword [eax]
mov eax, dword [ebp - 0x18]
cmp eax, esi
setge cl
cmp ecx, esi
jg 0x10017cbf
test esi, esi
jne 0x10017cbf
mov ecx, edx
jmp 0x10017cc2
xor ecx, ecx
inc ecx
xor eax, eax
cmp ecx, esi
sete al
xor edx, edx
cmp eax, esi
setne dl
xor ecx, ecx
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x84]
cmp dword [eax], edx
setge cl
mov dword [ebp - 0x14], ecx
lea ecx, [ebp - 0x17c]
call fcn.100155d3
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x84]
call fcn.100155d3
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x60]
push eax
push 0
call fcn.1001a620
mov esi, dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
add esp, 0x14
cmp dword [ebp - 0x58], 0
mov edi, dword [sym.imp.USER32.dll_IsZoomed]
je 0x10017eae
lea eax, [ebp - 0x5c]
mov dword [ebp - 0xb8], 0x55db
push eax
lea eax, [ebp - 0xa0]
mov dword [ebp - 0xc0], 0xfffffff9
push eax
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0xbc]
push eax
push 0
lea edx, [ebp - 0xc0]
lea ecx, [ebp - 0xb8]
call fcn.10018197
add esp, 0x18
mov dword [ebp - 0x14], 6
mov dword [ebp - 0x28], 9
mov dword [ebp - 0x24], 0xc5adf851
mov dword [ebp - 0x18], 0
push 2
pop ecx
jmp 0x10017d9c
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x3c], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x10017d92
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x38]
add eax, dword [ebp - 0x14]
je 0x10017e57
or eax, 0xffffffff
mov dword [ebp - 0x28], 0xb1c0
mov dword [ebp - 0x100], eax
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
dec eax
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, 1
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0x38]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x38]
setl dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x38]
setge cl
xor edx, edx
sub ecx, 0xfff6
cmp ecx, 0x7392
setle dl
sub edx, eax
jne 0x10017e24
mov eax, dword [ebp - 0xf4]
mov eax, dword [ebp - 0x28]
xor edx, edx
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x3c]
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setge dl
sub edx, 0x39cb61d2
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, 1
setle cl
imul eax, ecx
add eax, 0x4841d2c3
mov dword [ebp - 0x24], eax
jmp 0x10017e6a
mov byte [ebp - 0xd], 0
cmp byte [ebp - 0xd], 0
je 0x10017e6a
call ebx
push eax
call dword [sym.imp.USER32.dll_GetParent]
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
mov eax, dword [ebp - 0x14]
test eax, eax
mov eax, dword [ebp - 0x14]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x3c]
setne dl
xor ecx, ecx
cmp eax, edx
setle cl
xor edx, edx
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x14]
sub eax, 0x75e3
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x28]
cmp ecx, eax
setl dl
mov dword [ebp - 0x38], edx
jmp 0x1001804d
mov dword [ebp - 0x34], 0
jmp 0x10018043
mov byte [ebp - 0xd], 0
lea ecx, [ebp - 0x128]
mov dword [ebp - 0x30], 1
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x28], 7
mov dword [ebp - 0x24], 0
push 4
call fcn.10014d59
mov dword [ebp - 0x14], 0
jmp 0x10017f01
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x98], 0xfffffffd
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10017ef0
mov dword [ebp - 0x14], 0
jmp 0x10017f23
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x128]
mov dword [eax + ecx*4], 0x25062d7b
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x10017f10
mov eax, dword [ebp - 0x30]
xor ecx, ecx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
cmp eax, 0xaa0a5dec
setne cl
imul eax, ecx, 0x3f7e
xor ecx, ecx
cmp eax, 0xffffffff
mov eax, dword [ebp - 0x24]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
setl dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x94]
setl cl
xor edx, edx
sub ecx, 0xa
cmp eax, ecx
setge dl
xor ecx, ecx
mov dword [ebp - 0x94], edx
mov eax, dword [ebp - 0x30]
cmp edx, eax
mov eax, dword [ebp - 0x128]
setne cl
xor edx, edx
cmp ecx, 4
lea ecx, [ebp - 0x128]
setge dl
mov dword [eax], edx
call fcn.100155d3
cmp byte [ebp - 0xd], 0
je 0x10018040
mov dword [ebp - 0x14], 0xfffffffa
mov byte [ebp - 0xd], 0
cmp byte [ebp - 0xd], 0
je 0x10017fc3
push 0
push 0
call esi
mov dword [ebp - 0x14], 0
jmp 0x1001802b
push 1
lea ecx, [ebp - 0x134]
call fcn.10014d59
xor edx, edx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x18], edx
jmp 0x10017ff5
cmp dword [ebp - 0x14], 8
jne 0x10017fcc
jmp 0x10018038
dec dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0xffffffef
jne 0x10017eba
mov dword [ebp - 0x14], 0xfffffffa
mov byte [ebp - 0xd], 0
cmp byte [ebp - 0xd], 0
je 0x10018064
push 0
push 0
call esi
mov dword [ebp - 0x14], 0
jmp 0x100180cc
cmp dword [ebp - 0x14], 8
jne 0x1001806d