Function at 0x4409d0
Capabilities:
Check for time delay via queryperformancecounter

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x47f2f8
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x98
mov eax, dword [0x4b5200]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x8c], edi
mov eax, dword [sym.imp.USER32.dll_GetWindowLongW]
lea esi, [edi + 0xd0]
mov dword [ebp - 0x98], eax
mov eax, dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp - 0x9c], eax
test esi, esi
jne 0x440a4e
mov ecx, dword [edi + 0xd0]
mov dword [ebp - 0x90], 0
jmp 0x440e8f
cmp byte [esi + 0x38], 0
je 0x440a7a
cmp byte [ebx + 8], 0
mov byte [esi + 0x38], 0
je 0x440a6b
mov eax, dword [esi]
mov dword [ebp - 0x90], eax
jmp 0x440e79
mov dword [ebp - 0x90], 1
jmp 0x440e79
cmp byte [ebx + 8], 0
lea eax, [esi + 0x14]
mov dword [esi], 0
xorps xmm0, xmm0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
movups xmmword [eax], xmm0
movq qword [eax + 0x10], xmm0
mov dword [eax + 0x18], 0
je 0x440ac8
push 1
push 0
push 0
push 0
push eax
call dword [sym.imp.USER32.dll_PeekMessageW]
jmp 0x440ad5
push 0
push 0
push 0
push eax
call dword [sym.imp.USER32.dll_GetMessageW]
mov edx, eax
mov dword [ebp - 0x90], edx
test edx, edx
je 0x440af5
mov eax, dword [esi + 0x18]
cmp eax, 0xcae
jne 0x440b12
mov dword [esi], 0xfffffffa
mov byte [esi + 0x39], 1
cmp byte [ebx + 8], 0
je 0x440d08
test edx, edx
jne 0x440d21
mov dword [ebp - 0x90], edx
jmp 0x440e79
test eax, eax
je 0x440e79
mov ecx, dword [esi + 0x30]
test ecx, ecx
je 0x440af5
cmp eax, 0xcb1
jne 0x440af5
cmp dword [ecx + 0x3c], 0
mov eax, dword [esi + 0x1c]
mov dword [ebp - 0x94], eax
je 0x440e73
cmp eax, 1
jl 0x440e73
cmp eax, dword [ecx + 0x40]
jg 0x440e73
mov edi, dword [ecx + 0x3c]
lea eax, [eax + eax*8]
cmp dword [edi + eax*8 + 0xc], 0
mov edi, dword [ebp - 0x8c]
je 0x440e73
mov edx, dword [esi + 0x20]
cmp edx, 0x205
jne 0x440ba1
mov eax, dword [ecx + 0x1c0]
mov edx, dword [esi + 0x14]
test eax, eax
je 0x440cf7
mov dword [eax + 0x30], ecx
mov eax, dword [ecx + 0x1c0]
mov dword [eax], 0xffffffea
mov eax, dword [ecx + 0x1c0]
mov dword [eax + 8], 0x205
jmp 0x440cc8
cmp edx, 0x203
jne 0x440bdb
mov eax, dword [ecx + 0x1c0]
mov edx, dword [esi + 0x14]
test eax, eax
je 0x440cf7
mov dword [eax + 0x30], ecx
mov eax, dword [ecx + 0x1c0]
mov dword [eax], 0xfffffff2
mov eax, dword [ecx + 0x1c0]
mov dword [eax + 8], 0x203
jmp 0x440cc8
cmp edx, 0x202
jne 0x440c08
push 0
push 0
push dword [esi + 0x14]
push edx
mov edx, dword [ebp - 0x94]
push edx
call fcn.0041ad60
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x90], eax
jmp 0x440e79
cmp edx, 0x402
jne 0x440c42
mov eax, dword [ecx + 0x1c0]
mov edx, dword [esi + 0x14]
test eax, eax
je 0x440cf7
mov dword [eax + 0x30], ecx
mov eax, dword [ecx + 0x1c0]
mov dword [eax], 0xffffff35
mov eax, dword [ecx + 0x1c0]
mov dword [eax + 8], 0x402
jmp 0x440cc8
cmp edx, 0x403
je 0x440c9d
cmp edx, 0x404
je 0x440c9d
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x1c], eax
mov eax, dword [ecx + 0x1c0]
cmp edx, 0x405
jne 0x440c88
test eax, eax
je 0x440cf7
mov dword [eax + 0x30], ecx
mov eax, dword [ecx + 0x1c0]
mov dword [eax], 0xffffff34
mov eax, dword [ecx + 0x1c0]
mov dword [eax + 8], edx
jmp 0x440cc5
test eax, eax
je 0x440cf7
mov dword [eax + 0x30], ecx
mov eax, dword [ecx + 0x1c0]
mov dword [eax], 0xffffff36
jmp 0x440cbc
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x1c], eax
mov eax, dword [ecx + 0x1c0]
test eax, eax
je 0x440cf7
mov dword [eax + 0x30], ecx
mov eax, dword [ecx + 0x1c0]
mov dword [eax], 0xffffff33
mov eax, dword [ecx + 0x1c0]
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x1c]
mov eax, dword [ecx + 0x1c0]
mov dword [eax + 4], edx
mov eax, dword [ecx + 0x1c0]
mov edx, dword [ebp - 0x94]
mov dword [eax + 0xc], edx
mov eax, dword [ecx + 0x1c0]
mov dword [eax + 0x10], 0
mov eax, dword [ecx + 0x1c0]
mov byte [eax + 0x38], 1
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x90], eax
jmp 0x440e79
test edx, edx
jg 0x440d21
mov dword [esi], 0xfffffed4
mov dword [ebp - 0x90], 0
jmp 0x440e79
cmp dword [esi + 0x18], 0x100
jne 0x440df8
mov eax, dword [esi + 0x30]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x440df8
mov eax, 0xd
cmp ax, word [esi + 0x1c]
jne 0x440df8
mov eax, dword [esi + 0x14]
xor ecx, ecx
mov dword [ebp - 0x94], eax
test eax, eax
je 0x440dc2
push 0xfffffffffffffff4
push eax
call dword [ebp - 0x98]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x3c]
test edx, edx
je 0x440dbe
cmp eax, 1
jl 0x440dbe
cmp eax, dword [ecx + 0x40]
jg 0x440dbe
lea ecx, [eax + eax*8]
cmp dword [edx + ecx*8 + 0xc], 0
je 0x440dbe
mov ecx, dword [ebp - 0x94]
lea edi, [eax + eax*8]
cmp dword [edx + edi*8 + 4], ecx
mov edi, dword [ebp - 0x8c]
jne 0x440dbe
mov edx, dword [esi + 0x30]
mov ecx, dword [edx + 0x3c]
test ecx, ecx
je 0x440dc0
cmp eax, dword [edx + 0x40]
jg 0x440dc0
lea edx, [eax + eax*8]
cmp dword [ecx + edx*8 + 0xc], 0
je 0x440dc0
mov ecx, dword [ecx + edx*8]
cmp ecx, 0x23
je 0x440dcc
cmp ecx, 0x24
jne 0x440dc2
jmp 0x440dcc
xor eax, eax
xor ecx, ecx
cmp ecx, 0x22
je 0x440dcc
cmp ecx, 0x25
jne 0x440df8
mov ecx, dword [esi + 0x14]
push ecx
movzx eax, ax
push eax
push 0x111
push ecx
call dword [sym.imp.USER32.dll_GetParent]
push eax
call dword [ebp - 0x9c]
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x90], eax
jmp 0x440e79
mov ecx, dword [esi + 0x34]
test ecx, ecx
je 0x440e48
lea eax, [esi + 0x14]
test eax, eax
jne 0x440e0a
xor cl, cl
jmp 0x440e44
mov edx, dword [ecx + 0x244]
add ecx, 0x230
mov dword [ebp - 0x1c], ecx
test edx, edx
je 0x440e36
push eax
push edx
push dword [ecx]
call dword [sym.imp.USER32.dll_TranslateAcceleratorW]
test eax, eax
setne cl
test eax, eax
jne 0x440e44
mov ecx, dword [ebp - 0x1c]
lea eax, [esi + 0x14]
push eax
push dword [ecx]
call dword [sym.imp.USER32.dll_IsDialogMessageW]
test eax, eax
setne cl
test cl, cl
jne 0x440e5c
lea eax, [esi + 0x14]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [esi + 0x14]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
mov edx, dword [ebp - 0x90]
xor al, al
cmp byte [ebx + 8], 0
mov byte [esi + 0x38], al
mov eax, 1
cmovne edx, eax
mov dword [ebp - 0x90], edx
mov ecx, dword [esi]
cmp ecx, 0xffffffe1
jne 0x440e8f
mov dword [esi], 0xfffffffa
mov ecx, 0xfffffffa
mov byte [esi + 0x39], 1
cmp dword [edi + 0x3f8], 4
jne 0x440f80
lea eax, [ecx + 0x1a]
cmp eax, 0x1a
ja 0x440ee9
cmp ecx, 0xfffffffe
je 0x440ee9
cmp ecx, 0xfffffff9
je 0x440ee9
cmp ecx, 0xfffffff8
je 0x440ee9
cmp ecx, 0xfffffff6
je 0x440ee9
cmp ecx, 0xfffffff3
je 0x440ee9
cmp ecx, 0xfffffff2
je 0x440ee9
cmp ecx, 0xffffffee
je 0x440ee9
cmp ecx, 0xffffffed
je 0x440ee9
cmp ecx, 0xffffffec
je 0x440ee9
cmp ecx, 0xffffffe7
je 0x440ee9
cmp ecx, 0xfffffff5
je 0x440ee9
cmp ecx, 0xffffffea
je 0x440ee9
cmp ecx, 0xfffffffa
jne 0x440f80
movups xmm0, xmmword [edi + 0xd0]
mov eax, dword [edi + 0x108]
lea ecx, [edi + 0x3e8]
movups xmmword [edi + 0x10c], xmm0
movups xmm0, xmmword [edi + 0xe0]
movups xmmword [edi + 0x11c], xmm0
movups xmm0, xmmword [edi + 0xf0]
movups xmmword [edi + 0x12c], xmm0
movq xmm0, qword [edi + 0x100]
movq qword [edi + 0x13c], xmm0
mov dword [edi + 0x144], eax
call fcn.0041c390
movups xmm0, xmmword [edi + 0x10c]
mov eax, dword [edi + 0x144]
movups xmmword [edi + 0xd0], xmm0
movups xmm0, xmmword [edi + 0x11c]
movups xmmword [edi + 0xe0], xmm0
movups xmm0, xmmword [edi + 0x12c]
movups xmmword [edi + 0xf0], xmm0
movq xmm0, qword [edi + 0x13c]
movq qword [edi + 0x100], xmm0
mov dword [edi + 0x108], eax
mov ecx, dword [edi + 0xd0]
cmp ecx, 0xffffffe1
jne 0x440f9a
mov dword [edi + 0xd0], 0xfffffffa
jmp 0x441c4c
mov edx, dword [edi + 0x100]
lea esi, [edi + 0x148]
cmp edx, esi
jne 0x441c1d
cmp ecx, dword [edi + 0x3c]
jne 0x440fc2
mov dword [edi + 0xd0], 0xfffffffa
jmp 0x441c4c
cmp ecx, dword [edi + 0x34]
jne 0x440fd7
push 1
push 6
mov ecx, esi
call fcn.00410690
jmp 0x441c53
cmp ecx, dword [edi + 0x38]
jne 0x441048
push 0xfffffffffffffff0
push dword [edi + 0xc0]
lea eax, [edi + 0x58]
mov dword [ebp - 0x8c], eax
call dword [ebp - 0x98]
mov dword [ebp - 0x98], esi
test eax, 0x1000000
je 0x44100e
mov dword [ebp - 0x1c], 2
mov eax, 9
jmp 0x441023
lea eax, [edi + 0x58]
mov dword [ebp - 0x1c], 1
mov dword [ebp - 0x8c], eax
mov eax, 3
push 0
push eax
mov ecx, esi
call fcn.00410690
mov eax, dword [ebp - 0x8c]
push dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x98]
push dword [eax]
call fcn.00417af0
jmp 0x441c53
cmp ecx, 0xffffffe7
jne 0x44107e
push 0xfffffffffffffff0
push dword [edi + 0xc0]
call dword [ebp - 0x98]
test eax, 0x1000000
mov ecx, 1
lea eax, [edi + 0x58]
jne 0x44106f
mov ecx, 2
push ecx
push dword [eax]
mov ecx, esi
call fcn.00417af0
jmp 0x441c53
mov eax, dword [edi + 0x4c]
test eax, eax
jle 0x441258
cmp byte [edi + 0xb1], 1
jne 0x4410c7
cmp ecx, 0xffffff31
jne 0x4410c7
lea esi, [edi + 0x970]
push esi
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov edx, dword [esi + 4]
mov ecx, dword [esi]
call fcn.0047c0c0
divsd xmm0, qword [esi + 0x10]
movsd qword [esi + 8], xmm0
mov byte [edi + 0xb1], 2
jmp 0x441c53
cmp ecx, eax
jne 0x441258
cmp byte [edi + 0xb1], 2
jne 0x44112e
movsd xmm0, qword [edi + 0x978]
lea esi, [edi + 0x970]
ucomisd xmm0, qword [0x4ab2d8]
movsd qword [ebp - 0x20], xmm0
lahf
test ah, 0x44
jnp 0x441122
push esi
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov edx, dword [esi + 4]
mov ecx, dword [esi]
call fcn.0047c0c0
divsd xmm0, qword [esi + 0x10]
movsd xmm1, qword [0x4ab3b8]
subsd xmm0, qword [ebp - 0x20]
comisd xmm1, xmm0
jbe 0x44112e
mov byte [edi + 0xb1], 0
jmp 0x441c53
mov ecx, edi
mov byte [edi + 0xb1], 1
call fcn.00446230
mov eax, dword [edi + 0x4c]
test eax, eax
jne 0x44114b
mov eax, dword [edi + 0x378]
jmp 0x44117f
cmp eax, 0xffffffff
jne 0x441156
mov eax, dword [edi + 0x188]
mov ecx, dword [edi + 0x184]
test ecx, ecx
je 0x44117d
cmp eax, 1
jl 0x44117d
cmp eax, dword [edi + 0x188]
jg 0x44117d
lea eax, [eax + eax*8]
cmp dword [ecx + eax*8 + 0xc], 0
je 0x44117d
mov eax, dword [ecx + eax*8 + 4]
jmp 0x44117f
xor eax, eax
lea ecx, [ebp - 0x28]
push ecx
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
mov ecx, dword [edi + 0xa0]
test ecx, ecx
jns 0x44119e
mov eax, 0x48
lea edx, [edi + 0x50]
jmp 0x4411cf
cmp dword [edi + 0x9c4], ecx
ja 0x4411af
lea eax, [ecx + 1]
mov dword [edi + 0x9c4], eax
mov eax, dword [edi + 0x9cc]
lea ecx, [ecx + ecx*2]
shl ecx, 5
lea edx, [edi + 0x50]
cmp byte [ecx + eax + 3], 0
mov eax, 0x24
jne 0x4411cf
mov eax, 0x28
push eax
push dword [edx]
mov ecx, edi
mov esi, 0x148
add ecx, esi
call fcn.00417af0
mov esi, dword [edi + 0xa0]
lea ecx, [edi + 0x148]
sar esi, 0x1f
and esi, 0x20
add esi, 0x20
push esi
push dword [edi + 0x5c]
call fcn.00417af0
push esi
push dword [edi + 0x60]
lea ecx, [edi + 0x148]
call fcn.00417af0
push esi
push dword [edi + 0x64]
lea ecx, [edi + 0x148]
call fcn.00417af0
push esi
push dword [edi + 0x68]
lea ecx, [edi + 0x148]
call fcn.00417af0
push esi
push dword [edi + 0x9c]
lea ecx, [edi + 0x148]
call fcn.00417af0
push dword [ebp - 0x1c]
lea ecx, [edi + 0x148]
push dword [ebp - 0x20]
push 8
push dword [edi + 0x4c]
call fcn.004196d0
jmp 0x441c53
cmp ecx, 0xffffffea
jne 0x4415b8
mov edx, dword [edi + 0xdc]
mov eax, dword [edi + 0x90]
cmp edx, eax
je 0x441285
cmp edx, dword [edi + 0x94]
jne 0x44164c
cmp edx, eax
jne 0x441442
cmp eax, 0xffffffff
jne 0x441290
mov eax, dword [edi + 0x188]
mov ecx, dword [edi + 0x184]
test ecx, ecx
je 0x4412cc
cmp eax, 1
jl 0x4412cc
cmp eax, dword [edi + 0x188]
jg 0x4412cc
lea eax, [eax + eax*8]
cmp dword [ecx + eax*8 + 0xc], 0
je 0x4412cc
cmp dword [ecx + eax*8], 0xf
jne 0x4412cc
push 2
push 0xffffffffffffffff
push 0x100c
push dword [ecx + eax*8 + 4]
call dword [ebp - 0x9c]
jmp 0x4412cf
or eax, 0xffffffff
xorps xmm0, xmm0
mov dword [ebp - 0x1c], 0
movq qword [ebp - 0x24], xmm0
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
mov byte [ebp - 0x1c], 1
push 3
push eax
mov dword [ebp - 4], 0
lea ecx, [edi + 0x148]
push dword [edi + 0x90]
call fcn.00419bd0
mov esi, eax
test esi, esi
jne 0x44132e
push eax
lea ecx, [ebp - 0x24]
call fcn.00401a90
mov esi, dword [ebp - 0x24]
mov ecx, dword [eax]
test ecx, ecx
je 0x441356
mov eax, dword [ebp - 0x20]
jmp 0x44134c
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x44133e
push eax
call fcn.0046b303
add esp, 4
xor eax, eax
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x20], eax
mov ecx, esi
mov byte [ebp - 0x1c], 1
cmp word [ecx], 0
jne 0x4413d7
test esi, esi
je 0x441363
push esi
call fcn.0046b303
add esp, 4
mov byte [ebp - 0x1c], 0
xor eax, eax
nop dword [eax]
inc eax
cmp word [eax*2 + 0x4a08e8], 0
jne 0x441370
mov dword [ebp - 0x20], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0046b90c
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov dword [ebp - 0x24], edx
test eax, eax
jle 0x4413c7
nop word [eax + eax]
mov ax, word [ecx*2 + 0x4a08e8]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x24]
cmp ecx, eax
jl 0x4413b0
xor ecx, ecx
mov word [edx + eax*2], cx
mov eax, dword [ebp - 0x20]
mov esi, dword [ebp - 0x24]
mov byte [ebp - 0x1c], 1
test esi, esi
je 0x441405
test eax, eax
jne 0x4413f1
cmp word [esi], ax
je 0x4413ec
inc eax
cmp word [esi + eax*2], 0
jne 0x4413e4
mov dword [ebp - 0x20], eax
test eax, eax
jle 0x441405
push esi
mov byte [ebp - 0x1c], 1
call fcn.0046f460
mov esi, dword [ebp - 0x24]
add esp, 4
jmp 0x44140b
mov byte [ebp - 0x1c], 0
xor eax, eax
cmp eax, dword [edi + 0xa0]
je 0x44142e
push 1
push eax
push dword [ebp - 0x8c]
mov ecx, edi
call fcn.0042fa70
push eax
mov ecx, edi
call fcn.0042f850
mov esi, dword [ebp - 0x24]
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x441442
push esi
call fcn.0046b303
add esp, 4
mov ecx, edi
call fcn.00446230
mov ecx, dword [edi + 0xa0]
test ecx, ecx
jns 0x44145d
mov eax, 0x48
lea edx, [edi + 0x50]
jmp 0x44148e
cmp dword [edi + 0x9c4], ecx
ja 0x44146e
lea eax, [ecx + 1]
mov dword [edi + 0x9c4], eax
mov eax, dword [edi + 0x9cc]
lea ecx, [ecx + ecx*2]
shl ecx, 5
lea edx, [edi + 0x50]
cmp byte [ecx + eax + 3], 0
mov eax, 0x24
jne 0x44148e
mov eax, 0x28
push eax
push dword [edx]
mov ecx, edi
mov esi, 0x148
add ecx, esi
call fcn.00417af0
mov esi, dword [edi + 0xa0]
lea ecx, [edi + 0x148]
sar esi, 0x1f
and esi, 0x20
add esi, 0x20
push esi
push dword [edi + 0x5c]
call fcn.00417af0
push esi
push dword [edi + 0x60]
lea ecx, [edi + 0x148]
call fcn.00417af0
push esi
push dword [edi + 0x64]
lea ecx, [edi + 0x148]
call fcn.00417af0
push esi
push dword [edi + 0x68]
lea ecx, [edi + 0x148]
call fcn.00417af0
push esi
push dword [edi + 0x9c]
lea ecx, [edi + 0x148]
call fcn.00417af0
mov ecx, dword [edi + 0x184]
mov eax, dword [edi + 0x4c]
test ecx, ecx
je 0x441c53
cmp eax, 1
jl 0x441c53
cmp eax, dword [edi + 0x188]
jg 0x441c53
lea esi, [eax + eax*8]
cmp dword [ecx + esi*8 + 0xc], 0
je 0x441c53
cmp dword [ecx + esi*8 + 8], 0
je 0x441c53
mov eax, dword [edi + 0x308]
test eax, eax
je 0x441c53
cmp dword [ecx + esi*8], 0x26
mov edx, dword [eax + 0x28]
mov eax, dword [eax + 0x2c]
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x8c], eax
jne 0x441573
push dword [edi + 0x378]
call dword [sym.imp.USER32.dll_SetForegroundWindow]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x8c]
push 0
push dword [edi + 0x378]
push 0
push eax
mov eax, dword [edi + 0x184]
push edx
push 0
push dword [eax + esi*8 + 8]
call dword [sym.imp.USER32.dll_TrackPopupMenu]
mov eax, dword [edi + 0x184]
cmp dword [eax + esi*8], 0x26
jne 0x441c53
push 0
push 0
push 0
push dword [edi + 0x378]
call dword [sym.imp.USER32.dll_PostMessageW]
jmp 0x441c53
cmp ecx, 0xfffffff2
jne 0x44164c
mov eax, dword [edi + 0xdc]
cmp eax, dword [edi + 0x1c]
je 0x4415db
cmp eax, dword [edi + 0x24]
je 0x4415db
cmp eax, dword [edi + 0x20]
je 0x4415db
cmp eax, dword [edi + 0x28]
jne 0x44164c
push 0xfffffffffffffff0
push dword [edi + 0xc0]
call dword [ebp - 0x98]
test eax, 0x10000
jne 0x441604
cmp byte [ebx + 8], 0
jne 0x441c61
mov eax, 1
jmp 0x441c6a
lea ecx, [edi + 0x148]
test eax, 0x1000000
je 0x44161f
mov dword [ebp - 0x1c], 2
mov eax, 9
jmp 0x44162b
mov dword [ebp - 0x1c], 1
mov eax, 3
push 0
push eax
call fcn.00410690
push dword [ebp - 0x1c]
mov eax, edi
mov ecx, 0x148
push dword [edi + 0x58]
add ecx, eax
call fcn.00417af0
jmp 0x441c53
cmp ecx, dword [edi + 0x2c]
jne 0x441663
sub esp, 0xc
mov ecx, str.https:__www.carifred.com_
call fcn.0040b9f0
jmp 0x441c53
cmp ecx, dword [edi + 0x40]
jne 0x441711
mov esi, 0x4a0d38
xor eax, eax
inc eax
cmp word [eax*2 + str.https:__www.carifred.com_cleardiskinfo_about.php_ver], 0
jne 0x441673
xor ecx, ecx
inc ecx
cmp word [ecx*2 + 0x4a0d38], 0
jne 0x441681
inc ecx
mov edx, 2
add eax, ecx
xor ecx, ecx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0046b90c
mov edi, str.https:__www.carifred.com_cleardiskinfo_about.php_ver
mov dword [ebp - 0x1c], eax
add esp, 4
mov ecx, eax
mov edx, 0x68
sub edi, eax
nop word [eax + eax]
mov word [ecx], dx
add ecx, 2
movzx eax, word [ecx + edi]
mov edx, eax
test ax, ax
jne 0x4416c0
mov edi, dword [ebp - 0x8c]
mov eax, 0x34
nop dword [eax]
mov word [ecx], ax
lea esi, [esi + 2]
movzx eax, word [esi]
lea ecx, [ecx + 2]
test ax, ax
jne 0x4416e0
xor eax, eax
mov word [ecx], ax
mov esi, dword [ebp - 0x1c]
sub esp, 0xc
mov ecx, esi
call fcn.0040b9f0
push esi
call fcn.0046b303
add esp, 4
jmp 0x441c53
cmp ecx, dword [edi + 0x44]
jne 0x441728
sub esp, 0xc
mov ecx, str.https:__www.carifred.com_cleardiskinfo_
call fcn.0040b9f0
jmp 0x441c53
cmp ecx, dword [edi + 0x48]
jne 0x44173f
sub esp, 0xc
mov ecx, str.https:__www.carifred.com_donate__pClear_Disk_Info
call fcn.0040b9f0
jmp 0x441c53
cmp ecx, 0xffffffb3
jne 0x441752
mov eax, dword [edi + 0xdc]
cmp eax, dword [edi + 0x84]
je 0x44175e
cmp ecx, dword [edi + 0x80]
jne 0x4418c9
push dword [edi + 0x84]
lea ecx, [edi + 0x148]
call fcn.00418e80
mov dword [ebp - 0x1c], eax
lea esi, [edi + 0x988]
test eax, eax
jne 0x441786
push eax
mov ecx, esi
call fcn.00401a90
jmp 0x4417a5
mov eax, dword [esi]
test eax, eax
je 0x441795
push eax
call fcn.0046b303
add esp, 4
mov eax, dword [ebp - 0x1c]
mov dword [esi], eax
mov dword [esi + 4], 0
mov byte [esi + 8], 1
mov eax, dword [esi]
cmp eax, 0x4e92fc
je 0x4417d3
test eax, eax
je 0x44185c
mov esi, 0x4e92fc
sub eax, esi
mov dword [ebp - 0x8c], eax
movzx eax, word [eax + esi]
mov ecx, eax
test ax, ax
jne 0x44180c
cmp word [esi], ax
jne 0x441811
push 0
push 0
push dword [edi + 0x84]
lea ecx, [edi + 0x148]
call fcn.00418210
push 0
push dword [edi + 0x84]
lea ecx, [edi + 0x148]
call fcn.00416f50
push dword [edi + 0xc4]
call dword [sym.imp.USER32.dll_SetFocus]
jmp 0x441c53
cmp ax, word [esi]
je 0x44184e
xor edx, edx
cmp dx, ax
jne 0x44181d
mov dword [ebp - 0x1c], edx
jmp 0x44182c
push ecx
call fcn.0046f530
movzx eax, ax
add esp, 4
mov dword [ebp - 0x1c], eax
movzx eax, word [esi]
xor edx, edx
mov ecx, eax
cmp dx, ax
jne 0x44183c
xor eax, eax
jmp 0x441848
push ecx
call fcn.0046f530
add esp, 4
movzx eax, ax
cmp word [ebp - 0x1c], ax
jne 0x44185c
mov eax, dword [ebp - 0x8c]
add esi, 2
jmp 0x4417c3
mov ecx, dword [edi + 0x84]
cmp ecx, 0xffffffff
jne 0x44186f
mov ecx, dword [edi + 0x188]
jmp 0x44189c
mov edx, dword [edi + 0x184]
test edx, edx
je 0x4417fb
cmp ecx, 1
jl 0x4417fb
cmp ecx, dword [edi + 0x188]
jg 0x4417fb
lea eax, [ecx + ecx*8]
cmp dword [edx + eax*8 + 0xc], 0
je 0x4417fb
mov eax, dword [edi + 0x184]
lea ecx, [ecx + ecx*8]
push 0xffffffffffffffff
push 0
push 0xb1
push dword [eax + ecx*8 + 4]
call dword [ebp - 0x9c]
push dword [edi + 0xc4]
call dword [sym.imp.USER32.dll_SetFocus]
jmp 0x441c53
cmp ecx, 0xffffffb4
jne 0x4419bf
mov eax, dword [edi + 0x84]
cmp dword [edi + 0xdc], eax
jne 0x4419bf
push eax
lea ecx, [edi + 0x148]
mov dword [edi + 0x8c], 0xffffffff
call fcn.00418e80
mov esi, eax
lea eax, [edi + 0x988]
test esi, esi
jne 0x441916
push esi
mov ecx, eax
call fcn.00401a90
lea eax, [edi + 0x988]
jmp 0x441938
mov ecx, dword [eax]
test ecx, ecx
je 0x44192b
push ecx
call fcn.0046b303
add esp, 4
lea eax, [edi + 0x988]
mov dword [eax], esi
mov dword [eax + 4], 0
mov byte [eax + 8], 1
mov esi, dword [eax + 4]
test esi, esi
jne 0x44195d
mov ecx, dword [eax]
test ecx, ecx
je 0x441958
cmp word [ecx], si
je 0x441958
nop word [eax + eax]
inc esi
cmp word [ecx + esi*2], 0
jne 0x441950
mov dword [eax + 4], esi
test esi, esi
jle 0x441970
push dword [edi + 0x88]
lea ecx, [edi + 0x148]
call fcn.00410490
cmp esi, 2
jle 0x441c53
cmp dword [edi + 0x988], 0
jne 0x44199d
push 2
call fcn.0046b90c
add esp, 4
mov dword [edi + 0x988], eax
xor ecx, ecx
mov word [eax], cx
mov dword [edi + 0x98c], ecx
mov edx, dword [edi + 0x988]
push 0xffffffffffffffff
push 6
mov byte [edi + 0x990], 1
push ecx
mov ecx, dword [edi + 0xcc]
call fcn.0040c9e0
jmp 0x441c53
cmp ecx, dword [edi + 0x88]
jne 0x441c53
push dword [edi + 0x84]
lea ecx, [edi + 0x148]
call fcn.00418e80
mov dword [ebp - 0x1c], eax
lea esi, [edi + 0x988]
test eax, eax
jne 0x4419f3
push eax
mov ecx, esi
call fcn.00401a90
jmp 0x441a12
mov eax, dword [esi]
test eax, eax
je 0x441a02
push eax
call fcn.0046b303
add esp, 4
mov eax, dword [ebp - 0x1c]
mov dword [esi], eax
mov dword [esi + 4], 0
mov byte [esi + 8], 1
mov eax, dword [esi]
cmp eax, 0x4e92fc
je 0x441a9f
test eax, eax
je 0x441a8f
mov esi, 0x4e92fc
sub eax, esi
mov dword [ebp - 0x8c], eax
movzx eax, word [eax + esi]
mov ecx, eax
test ax, ax
jne 0x441a42
cmp word [esi], ax
je 0x441a9f
jmp 0x441a47
cmp ax, word [esi]
je 0x441a84
xor edx, edx
cmp dx, ax
jne 0x441a53
mov dword [ebp - 0x1c], edx
jmp 0x441a62
push ecx
call fcn.0046f530
movzx eax, ax
add esp, 4
mov dword [ebp - 0x1c], eax
movzx eax, word [esi]
xor edx, edx
mov ecx, eax
cmp dx, ax
jne 0x441a72
xor eax, eax
jmp 0x441a7e
push ecx
call fcn.0046f530
add esp, 4
movzx eax, ax
cmp word [ebp - 0x1c], ax
jne 0x441a8f
mov eax, dword [ebp - 0x8c]
add esi, 2
jmp 0x441a30
mov eax, dword [edi + 0x988]
test eax, eax
je 0x441a9f
cmp word [eax], 0
jne 0x441aff
push 0
push 0
push dword [edi + 0x84]
lea ecx, [edi + 0x148]
call fcn.00418210
push 0
push dword [edi + 0x84]
lea ecx, [edi + 0x148]
call fcn.00416f50
movsd xmm0, qword [0x4ab360]
lea ecx, [edi + 0x148]
sub esp, 0x18
movsd qword [esp + 0x10], xmm0
push dword [edi + 0x84]
call fcn.00417180
push 0x80
push dword [edi + 0x84]
lea ecx, [edi + 0x148]
call fcn.00417af0
cmp dword [edi + 0x988], 0
jne 0x441b23
push 2
call fcn.0046b90c
add esp, 4
mov dword [edi + 0x988], eax
xor ecx, ecx
mov word [eax], cx
mov dword [edi + 0x98c], ecx
mov edx, dword [edi + 0x988]
mov byte [edi + 0x990], 1
push dword [edi + 0x8c]
push 0x1e
push ecx
mov ecx, dword [edi + 0xcc]
call fcn.0040c9e0
mov dword [edi + 0x8c], eax
cmp eax, 0xffffffff
je 0x441bfb
push eax
push dword [edi + 0x94]
lea ecx, [edi + 0x148]
call fcn.00419ab0
movsd xmm0, qword [0x4ab330]
mov esi, eax
comisd xmm0, xmmword [edi + 0xb8]
jbe 0x441be3
push 1
push esi
push 0x105c
push dword [edi + 0xcc]
call dword [ebp - 0x9c]
test eax, eax
je 0x441be3
lea eax, [ebp - 0x88]
mov dword [ebp - 0x88], 0x60
push eax
push esi
mov esi, dword [ebp - 0x9c]
push 0x1093
push dword [edi + 0xcc]
mov dword [ebp - 0x84], 4
mov dword [ebp - 0x6c], 1
mov dword [ebp - 0x68], 0
call esi
push 0
push dword [edi + 0x8c]
push 0x1013
push dword [edi + 0xcc]
call esi
push 0x80
push dword [edi + 0x94]
lea ecx, [edi + 0x148]
call fcn.00417af0
jmp 0x441c53
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x8c
push 0x190
push 0x3c
push 0
push 4
push 0x4a7208
mov ecx, edi
call fcn.00441c90
jmp 0x441c53
lea eax, [edi + 0x700]
cmp edx, eax
jne 0x441c53
mov edx, dword [edi + 0x690]
mov eax, dword [edi + 0x694]
cmp ecx, edx
jne 0x441c44
test edx, edx
jle 0x441c44
mov byte [edi + 0xb2], 1
jmp 0x441c53
cmp ecx, eax
jne 0x441c53
test eax, eax
jle 0x441c53
mov byte [edi + 0xb0], 1
cmp byte [ebx + 8], 0
je 0x441c61
mov eax, dword [edi + 0xd0]
jmp 0x441c6a
mov eax, dword [ebp - 0x90]
movzx eax, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0046b2f5
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4