Function at 0x10070d40
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10172e40
mov eax, dword fs:[0]
push eax
sub esp, 0x90
mov eax, dword [0x101bd92c]
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 edi, ecx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov esi, dword [sym.imp.USER32.dll_GetWindowLongW]
push 0
push dword [eax]
mov dword [ebp - 0x94], ecx
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x90], ecx
call esi
push 4
push eax
call esi
mov ebx, eax
push ebx
mov dword [ebp - 0x98], ebx
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov esi, eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x70], esi
movzx ecx, word [eax]
movzx eax, word [eax + 2]
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x84], eax
lea eax, [ebp - 0x88]
push eax
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x7c], ecx
push dword [eax]
mov dword [ebp - 0x88], ecx
call dword [sym.imp.USER32.dll_ClientToScreen]
push dword [ebp - 0x84]
push dword [ebp - 0x88]
call dword [sym.imp.USER32.dll_WindowFromPoint]
mov dword [ebp - 0x74], eax
test esi, esi
je 0x10070e46
cmp eax, dword [esi + 0x14]
jne 0x10070e46
lea ecx, [ebp - 0x88]
push ecx
push eax
call dword [sym.imp.USER32.dll_ScreenToClient]
push 0x7f89
push 0
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
push dword [ebp - 0x84]
lea eax, [ebp - 0x74]
push dword [ebp - 0x88]
push eax
call fcn.1003bfb0
mov ecx, eax
call fcn.1004cdb0
push ebx
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
jmp 0x10071445
mov ecx, dword [edi + 0xbc]
mov eax, dword [ecx]
call dword [eax + 0x44]
mov ecx, dword [edi + 0x84]
push 0x78
mov edx, dword [ecx]
mov ebx, eax
mov dword [ebp - 0x74], 0
call dword [edx]
xor esi, esi
mov dword [ebp - 0x9c], eax
test ebx, ebx
jle 0x10070ec7
mov ecx, dword [edi + 0xbc]
push esi
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x74], 0
mov eax, dword [ecx]
mov dword [ebp - 0x64], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x60], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0x5c], eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [ebp - 0x7c]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x78]
test ecx, ecx
jne 0x10070ead
test eax, eax
je 0x10070ec2
push eax
push ecx
lea eax, [ebp - 0x64]
push eax
call dword [sym.imp.USER32.dll_PtInRect]
mov edx, eax
mov dword [ebp - 0x74], edx
test edx, edx
jne 0x10070efd
inc esi
cmp esi, ebx
jl 0x10070e72
mov ebx, dword [ebp - 0x70]
mov esi, dword [sym.imp.USER32.dll_KillTimer]
cmp dword [ebp - 0x74], 0
mov eax, dword [ebp - 0x7c]
mov dword [edi + 0xac], eax
mov eax, dword [ebp - 0x78]
mov dword [edi + 0xb0], eax
je 0x100712bd
push dword [ebp - 0x98]
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
jmp 0x10071445
mov ecx, dword [edi + 0xbc]
mov eax, dword [ecx]
call dword [eax + 0x3c]
cmp eax, esi
je 0x10070ec7
push 0x7f89
push 0
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
mov ecx, dword [edi + 0xbc]
push esi
mov eax, dword [ecx]
call dword [eax + 0x10]
mov esi, eax
mov dword [ebp - 0x8c], esi
cmp dword [esi + 4], 0
mov ecx, dword [esi + 0x10]
jne 0x10070f87
mov ecx, dword [ecx + 8]
cmp ecx, 2
je 0x10070fa4
cmp ecx, 1
je 0x10070fa4
cmp ecx, 5
je 0x10070fa4
cmp ecx, 0x17
jne 0x10070f5c
lea ebx, [ecx - 0x16]
jmp 0x1007110c
cmp ecx, 3
jne 0x10070f69
lea ebx, [ecx - 2]
jmp 0x1007110c
cmp ecx, 9
jne 0x10070f76
lea ebx, [ecx - 8]
jmp 0x1007110c
cmp ecx, 0x1c
jne 0x10070f82
xor ebx, ebx
jmp 0x1007110c
cmp ecx, 0x10
jne 0x10070f8e
xor ebx, ebx
jmp 0x1007110c
xor ebx, ebx
cmp ecx, 0x30
je 0x1007110c
cmp ecx, 0x31
setne bl
jmp 0x1007110c
mov eax, dword [edi + 0xb8]
add eax, 0x208
push eax
lea ecx, [ebp - 0x54]
call fcn.10004410
xor eax, eax
mov dword [ebp - 4], 0
push 0xffffffffffffffff
push eax
mov word [ebp - 0x2c], ax
lea eax, [esi + 0x2c]
push eax
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x1c], 0
call fcn.10004790
push 1
push 0
lea eax, [ebp - 0x68]
mov byte [ebp - 4], 1
push eax
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x68], 0x27
call fcn.10010d20
cmp eax, 0xffffffff
je 0x10071030
mov dword [ebp - 0x68], 0x27
lea esp, [esp]
push 1
push eax
lea ecx, [ebp - 0x54]
call fcn.10004ce0
push 1
push 0
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x54]
call fcn.10010d20
cmp eax, 0xffffffff
jne 0x10071010
push 1
push 0
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x68], 0x27
call fcn.10010d20
cmp eax, 0xffffffff
je 0x10071073
mov dword [ebp - 0x68], 0x27
push 1
push eax
lea ecx, [ebp - 0x2c]
call fcn.10004ce0
push 1
push 0
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x2c]
call fcn.10010d20
cmp eax, 0xffffffff
jne 0x10071053
cmp dword [ebp - 0x18], 8
mov esi, dword [ebp - 0x40]
lea ecx, [ebp - 0x2c]
cmovae ecx, dword [ebp - 0x2c]
lea eax, [ebp - 0x54]
cmp esi, 8
cmovae eax, dword [ebp - 0x54]
jmp 0x10071090
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x100710b6
test dx, dx
je 0x100710b2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x100710b6
add eax, 4
add ecx, 4
test dx, dx
jne 0x10071090
xor eax, eax
jmp 0x100710bb
sbb eax, eax
or eax, 1
xor ebx, ebx
test eax, eax
mov ecx, 1
cmove ebx, ecx
cmp dword [ebp - 0x18], 8
jb 0x100710db
push dword [ebp - 0x2c]
call fcn.10091747
mov esi, dword [ebp - 0x40]
add esp, 4
xor eax, eax
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x1c], 0
mov word [ebp - 0x2c], ax
mov dword [ebp - 4], 0xffffffff
cmp esi, 8
jb 0x10071106
push dword [ebp - 0x54]
call fcn.10091747
add esp, 4
mov esi, dword [ebp - 0x8c]
mov ecx, dword [edi + 0x84]
push 0x23
mov eax, dword [ecx]
call dword [eax]
test eax, eax
jne 0x10071284
test ebx, ebx
je 0x10071284
mov ebx, dword [ebp - 0x80]
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x3c]
push eax
push dword [ebx]
call dword [sym.imp.USER32.dll_GetWindowRect]
cmp dword [ebp - 0x9c], 1
mov ecx, dword [esi + 0xc]
jne 0x10071179
mov eax, dword [ecx]
mov dword [ebp - 0x6c], eax
mov eax, dword [ecx + 0xc]
add eax, 5
mov dword [ebp - 0x68], eax
lea eax, [ebp - 0x6c]
push eax
push dword [ebx]
mov eax, dword [sym.imp.USER32.dll_ClientToScreen]
call eax
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x68], eax
jmp 0x10071195
mov eax, dword [ecx + 8]
add eax, 5
mov dword [ebp - 0x6c], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x68], eax
lea eax, [ebp - 0x6c]
push eax
push dword [ebx]
mov eax, dword [sym.imp.USER32.dll_ClientToScreen]
call eax
call fcn.1003bfb0
mov esi, eax
mov eax, dword [ebp - 0x8c]
mov ecx, dword [esi + 0x50]
mov dword [esi + 0x4c], eax
test ecx, ecx
je 0x100711b3
mov edx, dword [ecx]
call dword [edx + 0x20]
mov dword [esi], eax
mov ebx, dword [ebp - 0x70]
test ebx, ebx
je 0x10071212
mov eax, dword [edi + 0xac]
cmp dword [ebp - 0x7c], eax
jne 0x100711d0
mov ecx, dword [ebp - 0x78]
cmp ecx, dword [edi + 0xb0]
je 0x10071205
test eax, eax
je 0x10071205
cmp dword [edi + 0xb0], 0
je 0x10071205
call fcn.1003bfb0
lea esi, [ebx + 0x14]
push 6
push dword [esi]
call dword [sym.imp.USER32.dll_KillTimer]
mov eax, dword [sym.imp.USER32.dll_ReleaseCapture]
call eax
push esi
call fcn.1003bfb0
mov ecx, eax
call fcn.1004c290
jmp 0x10071212
mov ecx, dword [edi + 0xbc]
push 0xffffffffffffffff
mov eax, dword [ecx]
call dword [eax + 0x40]
call fcn.100143b0
mov esi, eax
call fcn.1003bfb0
mov edx, dword [eax + 0x48]
mov eax, dword [ebp - 0x68]
lea ecx, [edx + eax]
cmp ecx, esi
jle 0x10071234
mov eax, dword [ebp - 0x38]
sub eax, edx
dec eax
mov dword [ebp - 0x68], eax
test ebx, ebx
je 0x10070eca
mov ecx, dword [edi + 0xac]
cmp dword [ebp - 0x7c], ecx
jne 0x10071256
mov edx, dword [ebp - 0x78]
cmp edx, dword [edi + 0xb0]
je 0x10070eca
test ecx, ecx
je 0x10070eca
cmp dword [edi + 0xb0], 0
je 0x10070eca
push eax
push dword [ebp - 0x6c]
lea eax, [ebx + 0x14]
push eax
call fcn.1003bfb0
mov ecx, eax
call fcn.1004cd40
jmp 0x10070eca
mov ebx, dword [ebp - 0x70]
test ebx, ebx
je 0x10070eca
call fcn.1003bfb0
mov esi, dword [sym.imp.USER32.dll_KillTimer]
push 6
push dword [ebx + 0x14]
call esi
mov eax, dword [sym.imp.USER32.dll_ReleaseCapture]
call eax
call fcn.1003bfb0
push 0
push dword [ebx + 0x14]
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x10070ed0
test ebx, ebx
je 0x100712f5
mov eax, dword [ebp - 0x94]
test byte [eax], 1
jne 0x100712f5
call fcn.1003bfb0
push 6
push dword [ebx + 0x14]
call esi
call dword [sym.imp.USER32.dll_ReleaseCapture]
call fcn.1003bfb0
push 0
push 0x3e8
push 6
push dword [ebx + 0x14]
call dword [sym.imp.USER32.dll_SetTimer]
push dword [ebp - 0x98]
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov ecx, dword [ebp - 0x90]
push ecx
push dword [ebp - 0x94]
mov ecx, edi
push dword [ebp - 0x80]
call fcn.1003cac0
test eax, eax
jne 0x1007134b
mov eax, dword [edi + 0xb8]
cmp dword [eax + 0x514], 0
je 0x10071445
push 1
push 0
mov dword [eax + 0x514], 0
push dword [edi + 4]
call dword [sym.imp.USER32.dll_InvalidateRect]
jmp 0x10071445
mov edx, str.PageNotUp
mov ecx, eax
mov si, word [ecx]
cmp si, word [edx]
jne 0x10071378
test si, si
je 0x10071374
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x10071378
add ecx, 4
add edx, 4
test si, si
jne 0x10071352
xor ecx, ecx
jmp 0x1007137d
sbb ecx, ecx
or ecx, 1
test ecx, ecx
jne 0x100713b1
mov ecx, dword [edi + 0xb4]
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, dword [edi + 0xb8]
cmp dword [ecx + 0x504], 0xffffffff
je 0x10071431
test eax, eax
jle 0x10071431
push 0x7f89
jmp 0x10071436
mov edx, 0x1019b0a8
mov ecx, eax
mov si, word [ecx]
cmp si, word [edx]
jne 0x100713de
test si, si
je 0x100713da
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x100713de
add ecx, 4
add edx, 4
test si, si
jne 0x100713b8
xor ecx, ecx
jmp 0x100713e3
sbb ecx, ecx
or ecx, 1
test ecx, ecx
jne 0x100713fd
mov ecx, dword [edi + 0xb4]
mov eax, dword [ecx]
call dword [eax + 0xc]
test eax, eax
jne 0x10071431
push 0x7f89
jmp 0x10071436
mov ecx, str.Logo
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x10071428
test dx, dx
je 0x10071424
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x10071428
add eax, 4
add ecx, 4
test dx, dx
jne 0x10071402
xor eax, eax
jmp 0x1007142d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10071445
push 0x7f86
push 0
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
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.1009174c
mov esp, ebp
pop ebp
ret 0xc