Function at 0x10008860
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10217c40
mov eax, dword fs:[0]
push eax
sub esp, 0x74
mov eax, dword [0x102bff3c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edi, ecx
mov eax, dword [edi + 0x44]
mov dword [ebp - 0x6c], edi
mov ecx, dword [eax + 0x54]
test ecx, ecx
je 0x100088ab
push dword [eax + 0x58]
push 0
push 0
push 7
push dword [edi + 4]
call ecx
mov eax, dword [edi + 0x44]
cmp dword [eax + 4], 0
jne 0x100088bd
push dword [edi + 4]
call dword [sym.imp.USER32.dll_SetForegroundWindow]
mov eax, dword [edi + 0x44]
test dword [eax + 0xc], 0x1000
jne 0x1000896c
push 2
push dword [eax + 4]
call dword [sym.imp.USER32.dll_MonitorFromWindow]
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x4c], 0x28
push ecx
push eax
call dword [sym.imp.USER32.dll_GetMonitorInfoW]
test eax, eax
je 0x1000896c
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0
push eax
push dword [edi + 4]
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
call dword [sym.imp.USER32.dll_GetWindowRect]
mov ebx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
add eax, ebx
mov esi, dword [ebp - 0x20]
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0x38]
cdq
sub eax, edx
sar ecx, 1
sar eax, 1
sub eax, ecx
add ebx, eax
mov eax, dword [ebp - 0x18]
add eax, esi
mov dword [ebp - 0x24], ebx
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x34]
cdq
push 0x15
sub eax, edx
sar ecx, 1
push 0
sar eax, 1
push 0
sub eax, ecx
add esi, eax
push esi
push ebx
push 0
push dword [edi + 4]
mov dword [ebp - 0x20], esi
call dword [sym.imp.USER32.dll_SetWindowPos]
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
push 1
push dword [edi + 4]
call esi
mov ebx, eax
test ebx, ebx
je 0x1000899c
push ebx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x1000899c
push 1
push dword [edi + 0x50]
push 0x30
push ebx
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
call ebx
jmp 0x100089a2
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
push 6
push dword [edi + 4]
call esi
mov dword [ebp - 0x60], eax
test eax, eax
je 0x100089c7
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x100089c7
push 1
push dword [edi + 0x50]
push 0x30
push dword [ebp - 0x60]
call ebx
push 7
push dword [edi + 4]
call esi
mov dword [ebp - 0x60], eax
test eax, eax
je 0x100089ec
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x100089ec
push 1
push dword [edi + 0x50]
push 0x30
push dword [ebp - 0x60]
call ebx
push 2
push dword [edi + 4]
call esi
mov dword [ebp - 0x60], eax
test eax, eax
je 0x10008a11
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x10008a11
push 1
push dword [edi + 0x50]
push 0x30
push dword [ebp - 0x60]
call ebx
push 4
push dword [edi + 4]
call esi
mov dword [ebp - 0x60], eax
test eax, eax
je 0x10008a36
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x10008a36
push 1
push dword [edi + 0x50]
push 0x30
push dword [ebp - 0x60]
call ebx
push 8
push dword [edi + 4]
call esi
mov dword [ebp - 0x60], eax
test eax, eax
je 0x10008a5b
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x10008a5b
push 1
push dword [edi + 0x50]
push 0x30
push dword [ebp - 0x60]
call ebx
push dword [edi + 0xd8]
push dword [edi + 4]
call esi
mov dword [ebp - 0x60], eax
test eax, eax
je 0x10008a87
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x10008a87
push 1
push dword [edi + 0xd4]
push 0x30
push dword [ebp - 0x60]
call ebx
push dword [edi + 0x184]
push dword [edi + 4]
call esi
mov dword [ebp - 0x60], eax
test eax, eax
je 0x10008ab0
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x10008ab0
push 1
push dword [edi + 0x50]
push 0x30
push dword [ebp - 0x60]
call ebx
push dword [edi + 0x1f8]
push dword [edi + 4]
call esi
mov dword [ebp - 0x60], eax
test eax, eax
je 0x10008ad9
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x10008ad9
push 1
push dword [edi + 0x50]
push 0x30
push dword [ebp - 0x60]
call ebx
push dword [edi + 0x1fc]
push dword [edi + 4]
call esi
mov dword [ebp - 0x60], eax
test eax, eax
je 0x10008b02
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x10008b02
push 1
push dword [edi + 0x50]
push 0x30
push dword [ebp - 0x60]
call ebx
push dword [edi + 0x110]
push dword [edi + 4]
call esi
mov dword [ebp - 0x60], eax
test eax, eax
je 0x10008b2b
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x10008b2b
push 1
push dword [edi + 0x50]
push 0x30
push dword [ebp - 0x60]
call ebx
push dword [edi + 0x1c0]
push dword [edi + 4]
call esi
mov dword [ebp - 0x60], eax
test eax, eax
je 0x10008b54
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x10008b54
push 1
push dword [edi + 0x50]
push 0x30
push dword [ebp - 0x60]
call ebx
push dword [edi + 0x11c]
push dword [edi + 4]
call esi
mov dword [ebp - 0x60], eax
test eax, eax
je 0x10008b7d
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x10008b7d
push 1
push dword [edi + 0x50]
push 0x30
push dword [ebp - 0x60]
call ebx
mov eax, dword [edi + 0x44]
xor ecx, ecx
mov dword [ebp - 0x64], ecx
cmp dword [eax + 0x24], ecx
jbe 0x10008bdf
lea ebx, [ebx]
mov eax, dword [edi + 0x44]
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x60], edx
push dword [eax + ecx*8]
push dword [edi + 4]
call esi
mov dword [ebp - 0x68], eax
test eax, eax
je 0x10008bd0
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x10008bd0
test byte [ebp - 0x60], 0x10
push 1
je 0x10008bc6
push dword [edi + 0xd4]
jmp 0x10008bc9
push dword [edi + 0x50]
push 0x30
push dword [ebp - 0x68]
call ebx
mov ecx, dword [ebp - 0x64]
mov eax, dword [edi + 0x44]
inc ecx
mov dword [ebp - 0x64], ecx
cmp ecx, dword [eax + 0x24]
jb 0x10008b90
mov eax, dword [edi + 0x44]
xor ecx, ecx
mov dword [ebp - 0x64], ecx
cmp dword [eax + 0x30], ecx
jbe 0x10008c2b
lea esp, [esp]
mov eax, dword [edi + 0x44]
mov eax, dword [eax + 0x34]
push dword [eax + ecx*8]
push dword [edi + 4]
call esi
mov dword [ebp - 0x60], eax
test eax, eax
je 0x10008c1c
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x10008c1c
push 1
push dword [edi + 0x50]
push 0x30
push dword [ebp - 0x60]
call ebx
mov ecx, dword [ebp - 0x64]
mov eax, dword [edi + 0x44]
inc ecx
mov dword [ebp - 0x64], ecx
cmp ecx, dword [eax + 0x30]
jb 0x10008bf0
mov ecx, dword [edi + 0x1c0]
cmp ecx, 0xffffffff
je 0x10008c52
mov eax, dword [edi + 0x44]
test dword [eax + 0xc], 0x100
je 0x10008c46
push 1
jmp 0x10008c48
push 0
push ecx
push dword [edi + 4]
call dword [sym.imp.USER32.dll_CheckDlgButton]
mov eax, dword [edi + 0x110]
cmp eax, 0xffffffff
je 0x10008c7b
push eax
push dword [edi + 4]
call esi
mov ecx, dword [edi + 0x44]
test dword [ecx + 0xc], 0x400
je 0x10008c7b
push 0x14
push 1
push 0x40a
push eax
call ebx
mov eax, dword [edi + 0x44]
cmp dword [eax + 0x30], 0
je 0x10008cad
test dword [eax + 0xc], 0x4000
jne 0x10008cad
mov ecx, dword [eax + 0x38]
test ecx, ecx
je 0x10008c97
push ecx
jmp 0x10008c9c
mov eax, dword [eax + 0x34]
push dword [eax]
push dword [edi + 4]
call esi
push 0
push 1
push 0xf1
push eax
call ebx
mov eax, dword [edi + 0x44]
test byte [eax + 0xc], 8
jne 0x10008cd5
test byte [eax + 0x10], 8
jne 0x10008cd5
push 1
push 0xf060
push 0
push dword [edi + 4]
call dword [sym.imp.USER32.dll_GetSystemMenu]
push eax
call dword [sym.imp.USER32.dll_EnableMenuItem]
mov eax, dword [edi + 0x44]
test dword [eax + 0xc], 0x8000
je 0x10008d0f
push dword [edi + 0x9c]
mov dword [edi + 0x298], 0
push 0
push 0x80
push dword [edi + 4]
call ebx
push dword [edi + 0x9c]
push 1
push 0x80
push dword [edi + 4]
call ebx
cmp dword [edi + 0xa0], 0xffffffff
je 0x10008d9c
lea ebx, [edi + 0xa8]
lea eax, [edi + 0x9c]
mov dword [ebx + 0x28], 1
mov dword [ebx + 0x24], eax
push dword [edi + 0xa0]
push dword [edi + 4]
call esi
mov ecx, dword [ebx]
mov dword [ebp - 0x68], eax
mov edx, dword [ecx + 8]
cmp edx, method.CXTaskDialogCommandLink.virtual_8
jne 0x10008d56
mov dword [ebp - 0x64], 0x1000dbd0
jmp 0x10008d5d
mov ecx, ebx
call edx
mov dword [ebp - 0x64], eax
cmp dword [ebx + 0x14], 0
jne 0x10008d6f
call fcn.101ca80c
mov dword [ebx + 0x14], eax
test eax, eax
je 0x10008d9c
push ebx
push dword [ebp - 0x64]
push dword [ebx + 0x14]
call fcn.101ca8ea
push dword [ebx + 0x14]
call fcn.101ca865
push eax
push 0xfffffffffffffffc
push dword [ebp - 0x68]
call dword [sym.imp.USER32.dll_SetWindowLongW]
test eax, eax
je 0x10008d9c
mov dword [ebx + 0x20], eax
mov eax, dword [ebp - 0x68]
mov dword [ebx + 4], eax
cmp dword [edi + 0x118], 0xffffffff
je 0x10008e29
lea ebx, [edi + 0x158]
lea eax, [edi + 0x114]
mov dword [ebx + 0x28], 0
mov dword [ebx + 0x24], eax
push dword [edi + 0x118]
push dword [edi + 4]
call esi
mov ecx, dword [ebx]
mov dword [ebp - 0x68], eax
mov edx, dword [ecx + 8]
cmp edx, method.CXTaskDialogCommandLink.virtual_8
jne 0x10008de3
mov dword [ebp - 0x64], 0x1000dbd0
jmp 0x10008dea
mov ecx, ebx
call edx
mov dword [ebp - 0x64], eax
cmp dword [ebx + 0x14], 0
jne 0x10008dfc
call fcn.101ca80c
mov dword [ebx + 0x14], eax
test eax, eax
je 0x10008e29
push ebx
push dword [ebp - 0x64]
push dword [ebx + 0x14]
call fcn.101ca8ea
push dword [ebx + 0x14]
call fcn.101ca865
push eax
push 0xfffffffffffffffc
push dword [ebp - 0x68]
call dword [sym.imp.USER32.dll_SetWindowLongW]
test eax, eax
je 0x10008e29
mov dword [ebx + 0x20], eax
mov eax, dword [ebp - 0x68]
mov dword [ebx + 4], eax
cmp dword [edi + 0xd8], 0xffffffff
je 0x10008ebe
mov eax, dword [edi + 0x10c]
lea ebx, [edi + 0xdc]
mov ecx, dword [edi + 0x74]
mov dword [ebx + 0x24], eax
lea eax, [edi + 0x84]
mov dword [ebx + 0x28], ecx
mov dword [ebx + 0x2c], eax
push dword [edi + 0xd8]
push dword [edi + 4]
call esi
mov ecx, dword [ebx]
mov dword [ebp - 0x68], eax
mov edx, dword [ecx + 8]
cmp edx, method.CXTaskDialogCommandLink.virtual_8
jne 0x10008e78
mov dword [ebp - 0x64], 0x1000dbd0
jmp 0x10008e7f
mov ecx, ebx
call edx
mov dword [ebp - 0x64], eax
cmp dword [ebx + 0x14], 0
jne 0x10008e91
call fcn.101ca80c
mov dword [ebx + 0x14], eax
test eax, eax
je 0x10008ebe
push ebx
push dword [ebp - 0x64]
push dword [ebx + 0x14]
call fcn.101ca8ea
push dword [ebx + 0x14]
call fcn.101ca865
push eax
push 0xfffffffffffffffc
push dword [ebp - 0x68]
call dword [sym.imp.USER32.dll_SetWindowLongW]
test eax, eax
je 0x10008ebe
mov dword [ebx + 0x20], eax
mov eax, dword [ebp - 0x68]
mov dword [ebx + 4], eax
cmp dword [edi + 0x184], 0xffffffff
je 0x10008f50
mov eax, dword [edi + 0x78]
lea ebx, [edi + 0x190]
mov ecx, dword [edi + 0x74]
mov dword [ebx + 0x24], eax
lea eax, [edi + 0x84]
mov dword [ebx + 0x28], ecx
mov dword [ebx + 0x2c], eax
push dword [edi + 0x184]
push dword [edi + 4]
call esi
mov ecx, dword [ebx]
mov dword [ebp - 0x68], eax
mov edx, dword [ecx + 8]
cmp edx, method.CXTaskDialogCommandLink.virtual_8
jne 0x10008f0a
mov dword [ebp - 0x64], 0x1000dbd0
jmp 0x10008f11
mov ecx, ebx
call edx
mov dword [ebp - 0x64], eax
cmp dword [ebx + 0x14], 0
jne 0x10008f23
call fcn.101ca80c
mov dword [ebx + 0x14], eax
test eax, eax
je 0x10008f50
push ebx
push dword [ebp - 0x64]
push dword [ebx + 0x14]
call fcn.101ca8ea
push dword [ebx + 0x14]
call fcn.101ca865
push eax
push 0xfffffffffffffffc
push dword [ebp - 0x68]
call dword [sym.imp.USER32.dll_SetWindowLongW]
test eax, eax
je 0x10008f50
mov dword [ebx + 0x20], eax
mov eax, dword [ebp - 0x68]
mov dword [ebx + 4], eax
cmp dword [edi + 0x1f8], 0xffffffff
je 0x10008ff8
mov eax, dword [edi + 0x44]
lea edx, [edi + 0x84]
mov ecx, dword [eax + 0xc]
mov eax, 0
and ecx, 0x40
setne al
lea edx, [edx + eax*4]
test ecx, ecx
jne 0x10008f80
mov ecx, dword [edi + 0x74]
jmp 0x10008f83
mov ecx, dword [edi + 0x7c]
mov eax, dword [edi + 0x78]
lea ebx, [edi + 0x204]
mov dword [ebx + 0x24], eax
mov dword [ebx + 0x28], ecx
mov dword [ebx + 0x2c], edx
push dword [edi + 0x1f8]
push dword [edi + 4]
call esi
mov ecx, dword [ebx]
mov dword [ebp - 0x60], eax
mov edx, dword [ecx + 8]
cmp edx, method.CXTaskDialogCommandLink.virtual_8
jne 0x10008fb7
mov esi, 0x1000dbd0
jmp 0x10008fbd
mov ecx, ebx
call edx
mov esi, eax
cmp dword [ebx + 0x14], 0
jne 0x10008fcf
call fcn.101ca80c
mov dword [ebx + 0x14], eax
test eax, eax
je 0x10008ff8
push ebx
push esi
push dword [ebx + 0x14]
call fcn.101ca8ea
push dword [ebx + 0x14]
call fcn.101ca865
mov esi, dword [ebp - 0x60]
push eax
push 0xfffffffffffffffc
push esi
call dword [sym.imp.USER32.dll_SetWindowLongW]
test eax, eax
je 0x10008ff8
mov dword [ebx + 0x20], eax
mov dword [ebx + 4], esi
xor esi, esi
cmp dword [edi + 0x254], esi
jle 0x10009033
test esi, esi
js 0x100090c6
cmp esi, dword [edi + 0x254]
jge 0x100090c6
mov eax, dword [edi + 0x250]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x1000902a
mov eax, dword [ecx]
push 1
call dword [eax + 4]
inc esi
cmp esi, dword [edi + 0x254]
jl 0x10009002
mov eax, dword [edi + 0x250]
test eax, eax
je 0x10009050
push eax
call fcn.101d0c16
add esp, 4
mov dword [edi + 0x250], 0
mov dword [edi + 0x254], 0
xor ebx, ebx
mov dword [edi + 0x258], 0
mov eax, dword [edi + 0x44]
mov dword [ebp - 0x64], ebx
cmp ebx, dword [eax + 0x30]
jae 0x10009235
push 0x2c
mov dword [ebp - 4], 0
call fcn.1006654a
mov esi, eax
add esp, 4
test esi, esi
je 0x100090d7
mov eax, dword [sym.imp.USER32.dll_DefWindowProcW]
mov dword [esi + 4], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], eax
mov dword [esi], vtable.CXTaskDialogButton.0
mov dword [esi + 0x24], 0xffffff
mov dword [esi + 0x28], 0
jmp 0x100090d9
push 0
push 0
push 1
push 0xc000008c
call dword [sym.imp.KERNEL32.dll_RaiseException]
xor esi, esi
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x10009220
mov eax, dword [edi + 0x74]
mov dword [esi + 0x24], eax
lea eax, [edi + 0x84]
mov dword [esi + 0x28], eax
mov eax, dword [edi + 0x44]
mov eax, dword [eax + 0x34]
push dword [eax + ebx*8]
push dword [edi + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
mov ecx, dword [esi]
mov dword [ebp - 0x68], eax
mov edx, dword [ecx + 8]
cmp edx, method.CXTaskDialogCommandLink.virtual_8
jne 0x10009122
mov dword [ebp - 0x64], 0x1000dbd0
jmp 0x10009129
mov ecx, esi
call edx
mov dword [ebp - 0x64], eax
cmp dword [esi + 0x14], 0
jne 0x1000913b
call fcn.101ca80c
mov dword [esi + 0x14], eax
test eax, eax
je 0x10009168
push esi
push dword [ebp - 0x64]
push dword [esi + 0x14]
call fcn.101ca8ea
push dword [esi + 0x14]
call fcn.101ca865
push eax
push 0xfffffffffffffffc
push dword [ebp - 0x68]
call dword [sym.imp.USER32.dll_SetWindowLongW]
test eax, eax
je 0x10009168
mov dword [esi + 0x20], eax
mov eax, dword [ebp - 0x68]
mov dword [esi + 4], eax
mov eax, dword [edi + 0x254]
cmp eax, dword [edi + 0x258]
jne 0x100091e4
mov edx, dword [edi + 0x250]
lea ecx, [ebp - 0x70]
cmp ecx, edx
mov ecx, dword [edi + 0x258]
jb 0x100091a9
lea eax, [edx + ecx*4]
lea ecx, [ebp - 0x70]
cmp ecx, eax
mov ecx, dword [edi + 0x258]
jae 0x100091a3
push 0x80004005
call fcn.1000dd70
mov eax, dword [edi + 0x254]
test ecx, ecx
jne 0x100091b7
mov eax, 1
mov dword [ebp - 0x64], eax
jmp 0x100091c5
add eax, eax
mov dword [ebp - 0x64], eax
js 0x1000922f
cmp eax, 0x1fffffff
ja 0x1000922f
push 4
push eax
push edx
call fcn.101dfacc
add esp, 0xc
test eax, eax
je 0x1000922f
mov ecx, dword [ebp - 0x64]
mov dword [edi + 0x258], ecx
mov dword [edi + 0x250], eax
mov ecx, dword [edi + 0x254]
mov eax, dword [edi + 0x250]
lea eax, [eax + ecx*4]
test eax, eax
je 0x100091f9
mov dword [eax], esi
inc dword [edi + 0x254]
inc ebx
jmp 0x10009066
push 0
push 0
push 0x10
push dword [edi + 4]
call dword [sym.imp.USER32.dll_PostMessageW]
inc ebx
jmp 0x10009066
test byte [eax + 0xc], 0x10
je 0x100095a7
xor esi, esi
cmp dword [edi + 0x260], esi
jle 0x10009281
lea esp, [esp]
test esi, esi
js 0x100090c6
cmp esi, dword [edi + 0x260]
jge 0x100090c6
mov eax, dword [edi + 0x25c]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x10009278
mov eax, dword [ecx]
push 1
call dword [eax + 4]
inc esi
cmp esi, dword [edi + 0x260]
jl 0x10009250
mov eax, dword [edi + 0x25c]
test eax, eax
je 0x1000929e
push eax
call fcn.101d0c16
add esp, 4
mov dword [edi + 0x25c], 0
mov dword [edi + 0x260], 0
xor ebx, ebx
mov dword [edi + 0x264], 0
mov eax, dword [edi + 0x44]
mov dword [ebp - 0x68], ebx
cmp ebx, dword [eax + 0x24]
jae 0x100095a7
push 0x50
mov dword [ebp - 4], 2
call fcn.1006654a
mov esi, eax
add esp, 4
test esi, esi
je 0x1000934c
mov eax, dword [sym.imp.USER32.dll_DefWindowProcW]
mov dword [esi + 4], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], eax
mov dword [esi], vtable.CXTaskDialogCommandLink.0
mov dword [esi + 0x28], 0
mov dword [esi + 0x2c], 0
mov dword [esi + 0x30], 0
mov dword [esi + 0x34], 0
mov dword [esi + 0x38], 0
mov dword [esi + 0x3c], 0
mov dword [esi + 0x40], 0
mov dword [esi + 0x44], 0
mov dword [esi + 0x48], 0
mov dword [esi + 0x4c], 0
jmp 0x1000934e
xor esi, esi
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x10009589
mov eax, dword [edi + 0x44]
mov eax, dword [eax + 0xc]
and eax, 0x20
je 0x10009371
mov dword [ebp - 0x60], 0
jmp 0x1000937a
mov ecx, dword [edi + 0x274]
mov dword [ebp - 0x60], ecx
test eax, eax
je 0x10009387
mov dword [ebp - 0x64], 0
jmp 0x10009390
mov eax, dword [edi + 0x270]
mov dword [ebp - 0x64], eax
mov eax, dword [edi + 0xd4]
mov edx, dword [edi + 0x294]
mov ecx, dword [edi + 0x50]
mov dword [esi + 0x44], eax
mov eax, dword [ebp - 0x64]
mov dword [esi + 0x34], eax
mov eax, dword [ebp - 0x60]
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0x24]
mov dword [esi + 0x48], ecx
mov dword [esi + 0x30], edx
test eax, eax
je 0x100093c2
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [esi + 0x28]
test eax, eax
je 0x100093d0
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [esi + 0x2c]
test eax, eax
je 0x100093de
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
push 0xfff0b2
push 1
push 0
call dword [sym.imp.GDI32.dll_CreatePen]
mov dword [esi + 0x24], eax
test eax, eax
je 0x10009550
push 0xffffff
push 1
push 0
call dword [sym.imp.GDI32.dll_CreatePen]
mov dword [esi + 0x2c], eax
test eax, eax
je 0x10009550
push 0xc6c6c6
push 1
push 0
call dword [sym.imp.GDI32.dll_CreatePen]
mov dword [esi + 0x28], eax
test eax, eax
je 0x10009550
mov eax, dword [edi + 0x44]
mov eax, dword [eax + 0x28]
push dword [eax + ebx*8]
push dword [edi + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
mov ecx, dword [esi]
mov dword [ebp - 0x64], eax
mov edx, dword [ecx + 8]
cmp edx, method.CXTaskDialogCommandLink.virtual_8
jne 0x10009457
mov dword [ebp - 0x60], 0x1000dbd0
jmp 0x1000945e
mov ecx, esi
call edx
mov dword [ebp - 0x60], eax
cmp dword [esi + 0x14], 0
jne 0x10009470
call fcn.101ca80c
mov dword [esi + 0x14], eax
test eax, eax
je 0x1000949d
push esi
push dword [ebp - 0x60]
push dword [esi + 0x14]
call fcn.101ca8ea
push dword [esi + 0x14]
call fcn.101ca865
push eax
push 0xfffffffffffffffc
push dword [ebp - 0x64]
call dword [sym.imp.USER32.dll_SetWindowLongW]
test eax, eax
je 0x1000949d
mov dword [esi + 0x20], eax
mov eax, dword [ebp - 0x64]
mov dword [esi + 4], eax
mov eax, dword [edi + 0x44]
test byte [eax + 0xc], 0x20
jne 0x100094bc
push dword [edi + 0x270]
push 1
push 0xf7
push dword [esi + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [edi + 0x264]
mov eax, dword [edi + 0x260]
cmp eax, ecx
jne 0x1000952f
mov edx, dword [edi + 0x25c]
lea ebx, [ebp - 0x74]
cmp ebx, edx
jb 0x100094f0
lea eax, [edx + ecx*4]
cmp ebx, eax
jae 0x100094ea
push 0x80004005
call fcn.1000dd70
mov eax, dword [edi + 0x260]
test ecx, ecx
jne 0x100094f9
lea ebx, [ecx + 1]
jmp 0x10009510
lea ebx, [eax + eax]
test ebx, ebx
js 0x1000959e
cmp ebx, 0x1fffffff
ja 0x1000959e
push 4
push ebx
push edx
call fcn.101dfacc
add esp, 0xc
test eax, eax
je 0x1000959e
mov dword [edi + 0x264], ebx
mov ebx, dword [ebp - 0x68]
mov dword [edi + 0x25c], eax
mov ecx, dword [edi + 0x260]
mov eax, dword [edi + 0x25c]
lea eax, [eax + ecx*4]
test eax, eax
je 0x10009544
mov dword [eax], esi
inc dword [edi + 0x260]
inc ebx
jmp 0x100092b4
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax + 4]
push 0
push 0
push 0x10
push dword [edi + 4]
call dword [sym.imp.USER32.dll_PostMessageW]
inc ebx
jmp 0x100092b4
push 0
push 0
push 0x10
push dword [edi + 4]
call dword [sym.imp.USER32.dll_PostMessageW]
inc ebx
jmp 0x100092b4
mov ebx, dword [ebp - 0x68]
inc ebx
jmp 0x100092b4
cmp dword [edi + 0x11c], 0xffffffff
mov ebx, dword [sym.imp.USER32.dll_GetDlgItem]
je 0x1000963e
mov eax, dword [edi + 0x78]
lea esi, [edi + 0x120]
mov ecx, dword [edi + 0x7c]
mov dword [esi + 0x24], eax
lea eax, [edi + 0x88]
mov dword [esi + 0x28], ecx
mov dword [esi + 0x2c], eax
push dword [edi + 0x11c]
push dword [edi + 4]
call ebx
mov ecx, dword [esi]
mov dword [ebp - 0x60], eax
mov eax, dword [ecx + 8]
cmp eax, method.CXTaskDialogCommandLink.virtual_8
jne 0x100095f8
mov dword [ebp - 0x6c], 0x1000dbd0
jmp 0x100095ff
mov ecx, esi
call eax
mov dword [ebp - 0x6c], eax
cmp dword [esi + 0x14], 0
jne 0x10009611
call fcn.101ca80c
mov dword [esi + 0x14], eax
test eax, eax
je 0x1000963e
push esi
push dword [ebp - 0x6c]
push dword [esi + 0x14]
call fcn.101ca8ea
push dword [esi + 0x14]
call fcn.101ca865
push eax
push 0xfffffffffffffffc
push dword [ebp - 0x60]
call dword [sym.imp.USER32.dll_SetWindowLongW]
test eax, eax
je 0x1000963e
mov dword [esi + 0x20], eax
mov eax, dword [ebp - 0x60]
mov dword [esi + 4], eax
cmp dword [edi + 0x1c0], 0xffffffff
je 0x100096c5
mov eax, dword [edi + 0x74]
lea esi, [edi + 0x1c8]
mov dword [esi + 0x24], eax
lea eax, [edi + 0x88]
mov dword [esi + 0x28], eax
push dword [edi + 0x1c0]
push dword [edi + 4]
call ebx
mov ecx, dword [esi]
mov dword [ebp - 0x60], eax
mov eax, dword [ecx + 8]
cmp eax, method.CXTaskDialogCommandLink.virtual_8
jne 0x1000967f
mov dword [ebp - 0x6c], 0x1000dbd0
jmp 0x10009686
mov ecx, esi
call eax
mov dword [ebp - 0x6c], eax
cmp dword [esi + 0x14], 0
jne 0x10009698
call fcn.101ca80c
mov dword [esi + 0x14], eax
test eax, eax
je 0x100096c5
push esi
push dword [ebp - 0x6c]
push dword [esi + 0x14]
call fcn.101ca8ea
push dword [esi + 0x14]
call fcn.101ca865
push eax
push 0xfffffffffffffffc
push dword [ebp - 0x60]
call dword [sym.imp.USER32.dll_SetWindowLongW]
test eax, eax
je 0x100096c5
mov dword [esi + 0x20], eax
mov eax, dword [ebp - 0x60]
mov dword [esi + 4], eax
mov eax, dword [edi + 0x44]
test dword [eax + 0xc], 0x800
je 0x100096e6
push 0
push 0xc8
push 1
push dword [edi + 4]
call dword [sym.imp.USER32.dll_SetTimer]
mov dword [edi + 0x3c], eax
lea eax, [ebp - 0x5c]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
lea eax, [edi + 0x48]
push eax
lea eax, [ebp - 0x5c]
push eax
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
mov eax, dword [edi + 0x44]
mov eax, dword [eax + 0x18]
cmp eax, 0xfffe
jne 0x1000970f
push 0x10
jmp 0x10009723
cmp eax, 0xffff
jne 0x1000971a
push 0x30
jmp 0x10009723
cmp eax, 0xfffd
jne 0x10009729
push 0x40
call dword [sym.imp.USER32.dll_MessageBeep]
mov eax, dword [edi + 0x58]
xor esi, esi
cmp eax, 0xffffffff
je 0x1000975a
push eax
push dword [edi + 4]
call ebx
push 0
push dword [edi + 0x58]
mov esi, eax
push 0x401
push dword [edi + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
push esi
call dword [sym.imp.USER32.dll_SetFocus]
mov esi, 1
mov eax, dword [edi + 0x44]
mov ecx, dword [eax + 0x54]
test ecx, ecx
je 0x10009772
push dword [eax + 0x58]
push 0
push 0
push 0
push dword [edi + 4]
call ecx
xor esi, 1
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.101b70aa
mov esp, ebp
pop ebp
ret 0x10