Function at 0x10016830
Capabilities:
Access peb ldr_data
Check for time delay via gettickcount
Get file version info
Get number of processors

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1001ea90
mov eax, dword fs:[0]
push eax
sub esp, 0x4ac
mov eax, dword [0x1005b328]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, edx
mov byte [ebp - 0x492], cl
cmp word [0x1005bab0], 0
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x4a4], eax
jne 0x10016a10
push 0x104
xor eax, eax
push 0x1005bcc0
push eax
mov word [0x1005bcc0], ax
mov word [0x1005bab0], ax
call dword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetModuleHandleW]
push eax
call dword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetModuleFileNameW]
push 0x5c
push 0x1005bcc0
call dword [sym.imp.msvcrt.dll_wcsrchr]
add esp, 8
test eax, eax
je 0x100168fc
mov ecx, 0x1005bab0
mov edx, 0x104
sub eax, ecx
lea esi, [eax + 2]
jmp 0x100168d0
lea eax, [edx + 0x7ffffefa]
test eax, eax
je 0x100168f7
movzx eax, word [esi + ecx]
test ax, ax
je 0x100168f0
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x100168d0
jmp 0x100168f4
test edx, edx
jne 0x100168f7
sub ecx, 2
xor eax, eax
mov word [ecx], ax
lea eax, [ebp - 0x4ac]
mov dword [ebp - 0x4a8], 0
push eax
push 0x1005bcc0
push 1
mov dword [ebp - 0x4ac], 0
mov dword [ebp - 0x4a0], 0
mov dword [0x1005c25c], 0
mov dword [0x1005c258], 0
mov dword [0x1005c254], 0
mov dword [0x1005c250], 0
call dword [sym.imp.api_ms_win_core_version_l1_1_0.dll_GetFileVersionInfoSizeExW]
mov edi, eax
test edi, edi
je 0x100169e1
push edi
call fcn.10019caa
mov esi, eax
add esp, 4
test esi, esi
je 0x100169e1
push edi
push 0
push esi
call sub.msvcrt.dll_memset
add esp, 0xc
push esi
push edi
push 0
push 0x1005bcc0
push 3
call dword [sym.imp.api_ms_win_core_version_l1_1_0.dll_GetFileVersionInfoExW]
test eax, eax
je 0x100169d8
lea eax, [ebp - 0x4a8]
push eax
lea eax, [ebp - 0x4a0]
push eax
push 0x100063bc
push esi
call dword [sym.imp.api_ms_win_core_version_l1_1_0.dll_VerQueryValueW]
test eax, eax
je 0x100169d8
mov ecx, dword [ebp - 0x4a0]
movzx eax, word [ecx + 0xa]
mov dword [0x1005c25c], eax
movzx eax, word [ecx + 8]
mov dword [0x1005c258], eax
movzx eax, word [ecx + 0xe]
mov dword [0x1005c254], eax
movzx eax, word [ecx + 0xc]
mov dword [0x1005c250], eax
push esi
call fcn.10019cd9
add esp, 4
push dword [0x1005c250]
push dword [0x1005c254]
push dword [0x1005c258]
push dword [0x1005c25c]
push 0x10006e10
push 0x104
push 0x1005c260
call fcn.10012b70
add esp, 0x1c
mov eax, dword [0x1005c0e4]
mov dword [ebp - 0x4a0], 0
cmp eax, 1
je 0x10016a85
cmp dword [0x1005c468], 1
je 0x10016a3a
push 1
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
jmp 0x10016ac1
mov esi, dword [0x1005c030]
test esi, esi
jne 0x10016aa6
test eax, eax
jne 0x10016a5b
cmp dword [0x1005c020], 5
jae 0x10016a65
mov dword [0x1005c0e4], 2
push 0x32
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
jmp 0x10016ac1
mov eax, dword fs:[0x30]
mov ecx, 0x1005c0e4
mov eax, dword [eax + 0xa0]
add eax, 0xc
mov dword [0x1005c088], eax
mov eax, 1
xchg dword [ecx], eax
mov eax, dword [0x1005c088]
cmp dword [eax], 0
je 0x10016ab9
call dword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_GetCurrentThreadId]
mov ecx, dword [0x1005c088]
cmp dword [ecx], eax
jne 0x10016ab9
mov eax, 1
jmp 0x10016abb
lea eax, [ebp - 0x4a0]
mov ecx, esi
push eax
call dword [0x1005d484]
call esi
jmp 0x10016ac1
xor eax, eax
mov dword [ebp - 0x4a0], eax
cmp dword [ebp - 0x4a0], 0
jne 0x100177a9
mov ecx, dword fs:[0x30]
mov byte [ebp - 0x491], 0
mov eax, dword [ecx + 0x1e0]
mov ecx, dword [ecx + 0x1e4]
mov dword [ebp - 0x4b0], eax
and ecx, 0x20000000
xor eax, eax
or eax, ecx
je 0x10016b01
mov byte [ebp - 0x491], 1
cmp byte [0x1005c084], 0
je 0x10016b14
mov al, byte [0x1005c085]
jmp 0x10016bb7
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov esi, eax
push 2
push esi
call dword [sym.imp.USER32.dll_GetAncestor]
test eax, eax
jne 0x10016b2b
mov eax, esi
push 0x15
lea ecx, [ebp - 0x3c]
push ecx
push eax
call dword [sym.imp.USER32.dll_RealGetWindowClassW]
test eax, eax
je 0x10016b83
xor eax, eax
mov ecx, 0x10005e94
mov word [ebp - 0x14], ax
lea eax, [ebp - 0x3c]
lea ebx, [ebx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x10016b76
test dx, dx
je 0x10016b72
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x10016b76
add eax, 4
add ecx, 4
test dx, dx
jne 0x10016b50
xor eax, eax
jmp 0x10016b7b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10016b83
mov al, 1
jmp 0x10016bab
push 0x100066e0
push 0
push 0x100000
call dword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_OpenMutexW]
test eax, eax
push eax
setne byte [ebp - 0x499]
call dword [sym.imp.api_ms_win_core_handle_l1_1_0.dll_CloseHandle]
mov al, byte [ebp - 0x499]
mov byte [0x1005c084], 1
mov byte [0x1005c085], al
test al, al
je 0x10016c7b
cmp byte [ebp - 0x491], 0
jne 0x10016c7b
mov ecx, 0x100071b8
mov dword [ebp - 4], 0
mov edx, ecx
mov esi, 0xc
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x10016c4e
add ecx, 4
add edx, 4
sub esi, 4
jae 0x10016be0
mov esi, 0x1005bf20
mov ecx, esi
mov dword [ebp - 0x4ac], esi
push 0
mov eax, dword [ecx]
mov edi, dword [eax + 0x24]
lea eax, [ebp - 0x4a8]
push eax
push ecx
mov ecx, edi
call dword [0x1005d484]
call edi
test eax, eax
js 0x10016c54
mov eax, dword [ebp + 8]
cmp eax, dword [ebp - 0x4a8]
mov eax, esi
jne 0x10016c59
push dword [ebp + 0xc]
mov esi, dword [eax]
push ebx
push 3
push eax
mov esi, dword [esi + 0x1c]
mov ecx, esi
call dword [0x1005d484]
call esi
lea ecx, [ebp - 0x4ac]
call fcn.100112f8
jmp 0x100177a9
xor esi, esi
xor eax, eax
jmp 0x10016c59
mov eax, 0x1005bf20
mov dword [ebp - 4], 1
test eax, eax
je 0x10016c74
mov eax, dword [esi]
push esi
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x1005d484]
call esi
mov dword [ebp - 4], 0xffffffff
push 0x30
lea eax, [ebp - 0x490]
mov dword [ebp - 0x498], 0
push 0
push eax
call sub.msvcrt.dll_memset
mov esi, dword [ebp + 8]
xor cl, cl
mov edi, dword [ebp + 0xc]
add esp, 0xc
mov dword [ebp - 0x490], 0x30
mov byte [ebp - 0x491], cl
cmp esi, 0x8002
ja 0x10016f57
je 0x10016e3b
lea eax, [esi - 5]
cmp eax, 0xe
ja case.0x10016cd5.6
movzx eax, byte [eax + 0x100177ec]
jmp dword [eax*4 + 0x100177cc]
cmp byte [0x1005c0d1], 0
jne case.0x10016cd5.6
mov cl, 1
mov byte [ebp - 0x491], cl
jmp case.0x10016cd5.6
cmp byte [0x1005c008], 0
jne case.0x10016cd5.6
cmp ebx, dword [0x1005c0a8]
jne case.0x10016cd5.6
push 0x10006e28
push 2
push ebx
call dword [sym.imp.USER32.dll_GetAncestor]
push eax
call dword [sym.imp.USER32.dll_GetPropW]
test eax, eax
jne 0x10017233
mov byte [0x1005c044], 1
call fcn.1002c58c
cmp byte [0x1005c5cc], 0
je 0x10017233
mov ecx, dword [0x1005c5c8]
xor edx, edx
call fcn.1002a9b1
mov ecx, dword [0x1005c0a8]
call fcn.1001d1fa
test al, al
je 0x10017233
mov ecx, dword [0x1005c0a8]
xor dl, dl
call fcn.1002c462
jmp 0x10017233
cmp byte [0x1005c008], 0
jne case.0x10016cd5.6
cmp byte [0x1005c044], 0
je case.0x10016cd5.6
mov cl, 1
mov byte [0x1005c044], 0
mov byte [ebp - 0x491], cl
jmp case.0x10016cd5.6
cmp ebx, dword [0x1005c0b0]
jne case.0x10016cd5.6
mov byte [0x1005c0d0], 1
mov dword [0x1005c09c], ebx
jmp case.0x10016cd5.6
cmp byte [0x1005c0d0], 0
je case.0x10016cd5.6
mov byte [0x1005c0d0], 0
call dword [sym.imp.api_ms_win_core_sysinfo_l1_1_0.dll_GetTickCount]
mov dword [0x1005c0bc], eax
mov dword [0x1005c09c], 0
jmp 0x10017233
push 0x10006e28
push 2
push ebx
call dword [sym.imp.USER32.dll_GetAncestor]
push eax
call dword [sym.imp.USER32.dll_GetPropW]
test eax, eax
jne 0x10017233
mov byte [0x1005c0d2], 1
jmp 0x10016d38
cmp byte [0x1005c0d2], 0
je case.0x10016cd5.6
mov cl, 1
mov byte [0x1005c0d2], 0
mov byte [ebp - 0x491], cl
jmp case.0x10016cd5.6
test edi, edi
jne case.0x10016cd5.6
cmp dword [ebp + 0x10], edi
jne case.0x10016cd5.6
push 0x104
lea eax, [ebp - 0x250]
push eax
push ebx
call dword [sym.imp.USER32.dll_GetClassNameW]
add eax, eax
cmp eax, 0x20a
jae 0x100177c7
xor ecx, ecx
mov word [ebp + eax - 0x250], cx
mov ecx, 0x10006e78
lea eax, [ebp - 0x250]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x10016ea7
test dx, dx
je 0x10016ea3
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x10016ea7
add eax, 4
add ecx, 4
test dx, dx
jne 0x10016e81
xor eax, eax
jmp 0x10016eac
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10016eed
cmp dword [0x1005c0b8], eax
jne 0x10016ee7
cmp byte [0x1005c5cc], al
jne 0x10016ed3
call dword [sym.imp.api_ms_win_core_sysinfo_l1_1_0.dll_GetTickCount]
sub eax, dword [0x1005c5d4]
cmp eax, 0x1f4
jae 0x10016ee7
mov ecx, dword [0x1005c5c8]
xor edx, edx
mov byte [0x1005c0cf], 1
call fcn.1002a9b1
inc dword [0x1005c0b8]
push 0xfffffffffffffff0
push ebx
call dword [sym.imp.USER32.dll_GetWindowLongW]
test eax, eax
jns 0x10017233
cmp ebx, dword [0x1005c0c4]
je 0x10016f1c
push 0x10006f30
push ebx
call dword [sym.imp.USER32.dll_GetPropW]
test eax, eax
je 0x10016f35
mov dword [0x1005c0c4], ebx
cmp byte [0x1005c5cc], 0
je 0x10016f35
mov ecx, dword [0x1005c5c8]
mov edx, 1
call fcn.1002a9b1
push 0x10006e28
push ebx
call dword [sym.imp.USER32.dll_GetPropW]
test eax, eax
je 0x10017233
mov dl, 1
mov ecx, ebx
call fcn.100569ed
jmp 0x10017233
mov eax, esi
sub eax, 0x8003
je 0x100170a7
sub eax, 2
je 0x10016f9c
sub eax, 6
jne case.0x10016cd5.6
test edi, edi
jne case.0x10016cd5.6
cmp dword [ebp + 0x10], edi
jne case.0x10016cd5.6
cmp ebx, dword [0x1005c0a0]
jne case.0x10016cd5.6
mov cl, 1
mov byte [ebp - 0x491], cl
jmp case.0x10016cd5.6
mov eax, dword fs:[0x30]
mov ecx, dword [eax + 0x1e4]
xor eax, eax
and ecx, 0x20000000
or eax, ecx
jne 0x10016fd0
cmp dword [0x1005c0c8], eax
jg 0x10016fd0
push eax
push edi
push dword [0x1005bec8]
push ebx
call dword [sym.imp.USER32.dll_PostMessageW]
jmp 0x100177a9
test edi, edi
je 0x10017233
cmp byte [0x1005b604], 0
je 0x10017233
lea eax, [ebp - 0x490]
push eax
push 0
call dword [sym.imp.USER32.dll_GetGUIThreadInfo]
lea eax, [ebp - 0x498]
push eax
push dword [ebp - 0x484]
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
cmp ebx, dword [ebp - 0x484]
jne 0x1001708e
mov esi, dword [ebp + 0x10]
cmp dword [0x1005c0a8], ebx
jne 0x1001702e
cmp dword [0x1005c098], edi
jne 0x1001702e
cmp dword [0x1005c094], esi
je 0x10017230
push esi
mov edx, edi
mov ecx, ebx
call fcn.1002c5f9
push 2
push ebx
mov dword [0x1005c0a8], ebx
call dword [sym.imp.USER32.dll_GetAncestor]
mov dword [0x1005c0a0], eax
mov dword [0x1005c098], edi
mov dword [0x1005c094], esi
mov dword [0x1005c0a4], 0
mov dword [0x1005c090], 0
mov dword [0x1005c08c], 0
test ebx, ebx
jne 0x10017230
call fcn.1002c58c
mov byte [0x1005c045], bl
jmp 0x1001776e
mov eax, dword [ebp + 0x10]
mov dword [0x1005c0a4], ebx
mov dword [0x1005c090], edi
mov dword [0x1005c08c], eax
jmp 0x10017233
test edi, edi
jne case.0x10016cd5.6
cmp dword [ebp + 0x10], edi
jne case.0x10016cd5.6
push 0x104
lea eax, [ebp - 0x460]
push eax
push ebx
call dword [sym.imp.USER32.dll_GetClassNameW]
add eax, eax
cmp eax, 0x20a
jae 0x100177c7
xor ecx, ecx
mov word [ebp + eax - 0x460], cx
mov ecx, 0x10006e78
lea eax, [ebp - 0x460]
lea ecx, [ecx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x10017116
test dx, dx
je 0x10017112
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x10017116
add eax, 4
add ecx, 4
test dx, dx
jne 0x100170f0
xor eax, eax
jmp 0x1001711b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100171aa
mov eax, dword [0x1005c0b8]
test eax, eax
je 0x100171aa
sub eax, 1
mov dword [0x1005c0b8], eax
jne 0x100171aa
cmp byte [0x1005c0cf], 0
je 0x100177a9
cmp dword [ebp - 0x498], 0
mov byte [0x1005c0cf], 0
jne 0x10017175
lea eax, [ebp - 0x490]
push eax
push 0
call dword [sym.imp.USER32.dll_GetGUIThreadInfo]
lea eax, [ebp - 0x498]
push eax
push dword [ebp - 0x484]
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
call dword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_GetCurrentProcessId]
cmp dword [ebp - 0x498], eax
jne 0x100177a9
call dword [sym.imp.USER32.dll_GetFocus]
mov ecx, dword [0x1005c5c8]
cmp ecx, eax
jne 0x100177a9
mov edx, 1
call fcn.1002a9b1
jmp 0x100177a9
push dword [0x1005c5c8]
push ebx
call dword [sym.imp.USER32.dll_IsChild]
test eax, eax
je 0x100171dd
call fcn.1002c58c
cmp byte [0x1005c5cc], 0
mov byte [0x1005c045], 0
je 0x100171dd
mov ecx, dword [0x1005c5c8]
xor edx, edx
call fcn.1002a9b1
push 0xfffffffffffffff0
push ebx
call dword [sym.imp.USER32.dll_GetWindowLongW]
test eax, eax
jns 0x10017233
cmp ebx, dword [0x1005c0c4]
jne 0x10017215
cmp byte [0x1005c5cc], 0
mov dword [0x1005c0c4], 0
je 0x10017215
mov ecx, dword [0x1005c5c8]
mov edx, 1
call fcn.1002a9b1
push 0x10006e28
push ebx
call dword [sym.imp.USER32.dll_GetPropW]
test eax, eax
je 0x10017233
xor dl, dl
mov ecx, ebx
call fcn.100569ed
jmp 0x10017233
mov esi, dword [ebp + 8]
mov cl, byte [ebp - 0x491]
cmp byte [ebp - 0x492], 0
je 0x1001725c
cmp byte [0x1005c0d2], 0
jne 0x100177a9
cmp byte [0x1005c044], 0
jne 0x100177a9
test cl, cl
je 0x10017290
mov ebx, dword [0x1005c5c8]
mov edi, dword [0x1005c098]
cmp esi, 0x800b
je 0x10017290
mov ecx, dword [0x1005c0a8]
call fcn.1001d1fa
test al, al
je 0x10017290
mov ecx, dword [0x1005c0a8]
mov dl, 1
call fcn.1002c462
cmp byte [ebp - 0x492], 0
je 0x100173ca
mov edx, ebx
mov ecx, 0x1005c524
call fcn.1002ac4e
cmp esi, 3
je 0x100172b3
call fcn.1002c58c
mov dword [0x1005c080], 0x10000
cmp esi, 3
ja case.default.0x100172c6
jmp dword [esi*4 + 0x100177fc]
mov ecx, dword [0x1005c0ac]
test ecx, ecx
je case.default.0x100172c6
cmp byte [0x1005c5cc], 0
je 0x100172fa
cmp dword [0x1005c5c8], ecx
jne 0x100172fa
xor edx, edx
mov byte [0x1005c045], 0
call fcn.1002a9b1
mov dword [0x1005c0ac], 0
jmp case.default.0x100172c6
cmp byte [0x1005c5cc], 0
je 0x1001732a
cmp dword [0x1005c5c8], ebx
jne 0x1001732a
xor edx, edx
mov byte [0x1005c045], 0
mov ecx, ebx
call fcn.1002a9b1
mov eax, dword [0x1005c0b0]
cmp eax, dword [0x1005c0a8]
jne case.default.0x100172c6
mov ebx, dword [0x1005c0b0]
mov byte [ebp - 0x491], 1
mov al, byte [ebp - 0x491]
jmp 0x100173d0
mov ecx, dword [ebp - 0x4a4]
mov eax, dword [ecx]
mov dword [0x1005c060], eax
mov eax, dword [ecx + 4]
mov dword [0x1005c064], eax
mov eax, dword [ecx + 8]
mov dword [0x1005c068], eax
mov eax, dword [ecx + 0xc]
mov dword [0x1005c06c], eax
jmp case.default.0x100172c6
mov ecx, dword [ebp - 0x4a4]
mov edx, 1
mov dword [0x1005c0ac], ebx
mov eax, dword [ecx]
mov dword [0x1005c070], eax
mov eax, dword [ecx + 4]
mov dword [0x1005c074], eax
mov eax, dword [ecx + 8]
mov dword [0x1005c078], eax
mov eax, dword [ecx + 0xc]
mov ecx, ebx
mov dword [0x1005c07c], eax
mov byte [0x1005c045], 1
call fcn.1002a9b1
mov al, byte [ebp - 0x491]
test al, al
je 0x100177a9
mov ebx, dword [0x1005c0b0]
jmp 0x100173d0
mov al, byte [ebp - 0x491]
test ebx, ebx
je 0x100177a9
cmp dword [0x1005c0ac], ebx
je 0x100177a9
test al, al
jne 0x100173ed
cmp edi, 0xfffffff8
jne case.default.0x10017428
mov edx, ebx
mov ecx, 0x1005c524
call fcn.1002ac4e
cmp dword [0x1005c528], 0
je 0x100177a9
cmp edi, 0xfffffff8
jne case.default.0x10017428
cmp dword [0x1005c530], 1
je case.default.0x10017428
cmp byte [0x1005b604], 0
je case.default.0x10017428
lea eax, [esi - 0x8000]
cmp eax, 3
ja case.default.0x10017428
jmp dword [eax*4 + 0x1001780c]
cmp dword [0x1005c534], 0
jne case.default.0x10017428
mov dword [0x1005c0b0], ebx
mov byte [0x1005c045], 1
mov byte [0x1005c0ce], 1
cmp byte [0x1005c0d2], 0
jne 0x100177a9
cmp byte [0x1005c044], 0
jne 0x100177a9
cmp dword [0x1005c0a8], 0
jne 0x100174f3
cmp dword [ebp - 0x498], 0
jne 0x1001749e
lea eax, [ebp - 0x490]
push eax
push 0
call dword [sym.imp.USER32.dll_GetGUIThreadInfo]
lea eax, [ebp - 0x498]
push eax
push dword [ebp - 0x484]
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
lea eax, [ebp - 0x4a4]
mov dword [ebp - 0x4a4], 0
push eax
push dword [ebp - 0x484]
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov esi, eax
call dword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_GetCurrentThreadId]
cmp esi, eax
jne 0x100174f3
mov eax, dword [0x1005c0a4]
push 2
push eax
mov dword [0x1005c0a8], eax
call dword [sym.imp.USER32.dll_GetAncestor]
mov dword [0x1005c0a0], eax
mov eax, dword [0x1005c090]
mov dword [0x1005c098], eax
mov eax, dword [0x1005c08c]
mov dword [0x1005c094], eax
cmp ebx, dword [0x1005c0a8]
jne 0x100177a9
cmp edi, 0xfffffff8
je 0x10017511
cmp byte [ebp - 0x491], 0
je 0x100177a9
cmp byte [0x1005b604], 0
je 0x100177a9
cmp dword [ebp - 0x498], 0
jne 0x10017549
lea eax, [ebp - 0x490]
push eax
push 0
call dword [sym.imp.USER32.dll_GetGUIThreadInfo]
lea eax, [ebp - 0x498]
push eax
push dword [ebp - 0x484]
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
cmp dword [0x1005c530], 1
jne 0x10017636
cmp dword [0x1005c5d8], 0
je 0x10017573
cmp dword [0x1005c0b4], 0
jne 0x10017573
call dword [sym.imp.api_ms_win_core_sysinfo_l1_1_0.dll_GetTickCount]
mov dword [0x1005c0b4], eax
call fcn.1002c58c
mov ecx, dword [ebp - 0x498]
lea eax, [ebp - 0x490]
push eax
mov edx, ebx
call fcn.1002b6a5
jmp 0x100177a9
push ebx
mov dword [0x1005c0b0], ebx
mov byte [0x1005c045], 1
mov byte [0x1005c0ce], 0
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne case.default.0x10017428
mov byte [0x1005c045], al
jmp case.default.0x10017428
cmp dword [0x1005c0b0], ebx
jne case.default.0x10017428
mov eax, dword [0x1005c544]
test eax, eax
je 0x10017445
cmp eax, 1
je 0x10017623
cmp dword [0x1005c53c], 0
je 0x10017623
cmp byte [0x1005c0d0], 0
jne 0x1001760a
call dword [sym.imp.api_ms_win_core_sysinfo_l1_1_0.dll_GetTickCount]
sub eax, dword [0x1005c0bc]
cmp eax, 0xfa
ja 0x10017623
cmp byte [0x1005c0d0], 0
je 0x10017617
mov eax, dword [0x1005c09c]
cmp eax, dword [0x1005c0b0]
jne 0x10017623
mov al, 1
mov byte [0x1005c0ce], al
jmp case.default.0x10017428
xor al, al
mov byte [0x1005c045], 0
mov byte [0x1005c0ce], al
jmp case.default.0x10017428
cmp dword [0x1005c0b0], ebx
jne 0x100177a9
cmp byte [0x1005c045], 0
je 0x1001772b
mov edx, dword [0x1005c098]
mov ecx, dword [0x1005c0a8]
push 0
push dword [0x1005c094]
call fcn.1002c98a
lea eax, [ebp - 0x490]
push eax
push ecx
mov ecx, ebx
call fcn.1002c737
test eax, eax
sete al
cmp dword [0x1005c540], 1
mov byte [0x1005c045], al
jne 0x10017727
push 0x1005c070
push ebx
call dword [sym.imp.USER32.dll_ScreenToClient]
push 0x1005c078
push ebx
call dword [sym.imp.USER32.dll_ScreenToClient]
push ebx
call dword [sym.imp.USER32.dll_GetDC]
push 2
mov esi, eax
push 0x1005c070
push esi
call dword [sym.imp.GDI32.dll_LPtoDP]
lea eax, [ebp - 0x4b8]
push eax
push esi
call dword [sym.imp.GDI32.dll_GetDCOrgEx]
push dword [ebp - 0x4b4]
push dword [ebp - 0x4b8]
push 0x1005c070
call dword [sym.imp.USER32.dll_OffsetRect]
push esi
push ebx
call dword [sym.imp.USER32.dll_ReleaseDC]
mov eax, dword [0x1005c078]
cmp eax, dword [0x1005bed8]
jl 0x10017786
mov eax, dword [0x1005c070]
cmp eax, dword [0x1005bee0]
jg 0x10017786
mov eax, dword [0x1005c07c]
cmp eax, dword [0x1005bedc]
jl 0x10017786
mov eax, dword [0x1005c074]
cmp eax, dword [0x1005bee4]
jg 0x10017786
mov al, byte [0x1005c045]
test al, al
jne 0x1001779f
call dword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_GetCurrentProcessId]
cmp dword [ebp - 0x498], eax
je 0x10017747
call dword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_GetCurrentProcessId]
cmp dword [0x1005c0d4], eax
jne 0x10017769
cmp byte [0x1005c045], 0
jne 0x1001779f
cmp byte [0x1005c5cc], 0
je 0x10017798
push dword [0x1005c0a8]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x1001778f
call fcn.1002c58c
cmp byte [0x1005c5cc], 0
je 0x100177a9
mov ecx, dword [0x1005c5c8]
xor edx, edx
call fcn.1002a9b1
jmp 0x100177a9
mov byte [0x1005c045], 0
jmp 0x1001772b
cmp byte [0x1005c045], 0
jne 0x1001779f
mov ecx, 0x12c
jmp 0x100177a4
mov ecx, 0x64
call fcn.1002c548
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1001a260
mov esp, ebp
pop ebp
ret 0x10
call fcn.1001a570
fsubr qword [ecx + eax + 0x10]
movsd dword es:[edi], dword [esi]
insd dword es:[edi], dx
add dword [eax], edx
ret