Function at 0x7623b0
Capabilities:
Check os version
Terminate process

Disassembly:
push 0xffffffffffffffff
push 0x7e31f2
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x184
push ebx
push ebp
push esi
mov esi, dword [sym.imp.kernel32.dll_InitializeCriticalSection]
push edi
push 0x8b1648
call esi
push 0x8b1480
call esi
push 0x8b1a20
call esi
push 0x8b1618
call esi
push 0x8b15c0
call esi
push 0x8b15a8
call esi
push 0x9ebbe8
call esi
push 0x9ebb28
call esi
push 0x9ebbd0
call esi
push 0x48
call fcn.007a2d8d
add esp, 4
mov dword [esp + 0x10], eax
xor ebx, ebx
cmp eax, ebx
mov dword [esp + 0x19c], ebx
je 0x762438
mov ecx, eax
call fcn.0045e050
jmp 0x76243a
xor eax, eax
mov cl, byte [0x8b16c8]
mov esi, dword [esp + 0x1a8]
or ebp, 0xffffffff
mov dword [esp + 0x19c], ebp
mov dword [0x8b1a48], eax
test cl, cl
je 0x762462
push esi
mov ecx, eax
call fcn.0045e290
mov al, byte [0x8b16ca]
test al, al
jne 0x762474
mov eax, dword [0x8b1a48]
mov byte [eax + 0x29], 0
mov edx, dword [0x8b1a48]
mov cl, byte [0x8b16cb]
push 0x450
mov byte [edx + 0x2c], cl
call fcn.007a2d8d
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, ebx
mov dword [esp + 0x19c], 1
je 0x7624ad
push esi
mov ecx, eax
call fcn.006d9d10
jmp 0x7624af
xor eax, eax
mov dword [esp + 0x19c], ebp
mov dword [0x9eba48], eax
mov al, byte [0x8b16cd]
mov edi, 0x94
test al, al
mov byte [0x9ebaf5], 1
je 0x762511
lea eax, [esp + 0x6c]
push eax
push 0xfffffffffffffffe
push ebx
call dword [sym.imp.user32.dll_EnumDisplaySettingsA]
mov eax, dword [0x8b16b0]
mov ecx, dword [esp + 0xd4]
cmp ecx, eax
je 0x762557
lea ecx, [esp + 0x6c]
push 4
mov word [esp + 0x94], di
mov dword [esp + 0x98], 0x1c0000
mov dword [esp + 0xd8], eax
push ecx
jmp 0x762551
mov edx, dword [0x8b16a8]
mov eax, dword [0x8b16ac]
mov ecx, dword [0x8b16b0]
mov dword [esp + 0xd8], edx
lea edx, [esp + 0x6c]
push 4
mov word [esp + 0x94], di
mov dword [esp + 0xe0], eax
mov dword [esp + 0xd8], ecx
mov dword [esp + 0x98], 0x1c0000
push edx
call dword [sym.imp.user32.dll_ChangeDisplaySettingsA]
lea eax, [esp + 0x5c]
push eax
push esi
call dword [sym.imp.user32.dll_GetClientRect]
push 0x1d0
call fcn.007a2d8d
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, ebx
mov dword [esp + 0x19c], 2
je 0x76258c
mov ecx, eax
call fcn.00755780
jmp 0x76258e
xor eax, eax
mov ecx, dword [0x8b16b0]
mov edx, dword [0x8b16ac]
push 1
push ecx
mov ecx, dword [0x8b16a8]
push edx
xor edx, edx
push ecx
mov dl, byte [0x9ebaf5]
push esi
mov dword [esp + 0x1b0], ebp
push edx
mov ecx, eax
mov dword [0x9eba5c], eax
call fcn.0044c110
test al, al
jne 0x7625cc
push ebp
call fcn.007a3637
push esi
call dword [sym.imp.user32.dll_SetFocus]
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x68]
mov edi, eax
sub eax, edx
mov dword [esp + 0x2c], edx
mov ecx, dword [esp + 0x60]
sub esp, 0x10
cdq
mov dword [esp + 0x48], ebp
sub eax, edx
mov ebp, esp
lea edx, [ecx + 0x1e]
sar eax, 1
mov dword [ebp], eax
push esi
mov dword [ebp + 4], ecx
mov dword [ebp + 8], edi
mov dword [ebp + 0xc], edx
call fcn.00406740
mov al, byte [esp + 0x2b]
mov dword [esp + 0x64], ebx
mov byte [esp + 0x60], al
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebx
lea ecx, [esp + 0x60]
mov dword [esp + 0x1b0], 3
push ecx
call fcn.00703170
add esp, 0x18
test al, al
jne 0x7626a1
cmp dword [esp + 0x54], ebx
jbe 0x76265f
mov eax, dword [esp + 0x50]
cmp eax, ebx
jne 0x762651
mov eax, 0x7e5658
push ebx
push 0x862a34
push eax
push esi
call dword [sym.imp.user32.dll_MessageBoxA]
push ebx
call dword [sym.imp.user32.dll_PostQuitMessage]
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x19c], 0xffffffff
cmp ecx, ebx
je 0x76269a
mov al, byte [ecx - 1]
test al, al
je 0x762690
cmp al, 0xff
je 0x762690
dec al
mov byte [ecx - 1], al
xor al, al
jmp 0x762ef5
dec ecx
push ecx
call fcn.007a02e0
add esp, 4
xor al, al
jmp 0x762ef5
mov edx, dword [esp + 0x1ac]
mov ebp, dword [esp + 0x1a4]
push 0x40098
mov dword [0x9ebaec], edx
mov dword [0x9ebadc], ebp
call fcn.007a2d8d
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, ebx
mov byte [esp + 0x19c], 4
je 0x7626e1
mov ecx, eax
call fcn.00462260
jmp 0x7626e3
xor eax, eax
mov byte [esp + 0x19c], 3
push 0x40098
mov dword [0x9eba54], eax
call fcn.007a2d8d
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, ebx
mov byte [esp + 0x19c], 5
je 0x762716
mov ecx, eax
call fcn.00462260
jmp 0x762718
xor eax, eax
mov esi, dword [sym.imp.user32.dll_LoadCursorA]
push 4
mov byte [esp + 0x1a0], 3
push ebp
mov dword [0x9eba58], eax
call esi
push 5
push ebp
mov dword [0x9ebab4], eax
call esi
push 2
push ebp
mov dword [0x9ebab8], eax
call esi
push 3
push ebp
mov dword [0x9ebabc], eax
call esi
push 1
push ebp
mov dword [0x9ebac0], eax
call esi
push 7
push ebp
mov dword [0x9ebac4], eax
call esi
push 6
push ebp
mov dword [0x9ebac8], eax
call esi
push 0x7a
push ebp
mov dword [0x9ebacc], eax
call esi
push 0x7b
push ebp
mov dword [0x9ebad0], eax
call esi
push 0x7c
push ebp
mov dword [0x9ebad4], eax
call esi
mov dword [0x9ebad8], eax
mov al, byte [0x8b16cc]
test al, al
jne 0x762872
push 0xe8
call fcn.007a2d8d
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
mov byte [esp + 0x19c], 6
je 0x7627c2
mov ecx, eax
call fcn.00755160
jmp 0x7627c4
xor eax, eax
mov byte [esp + 0x19c], 3
mov dword [0x9ebaa4], eax
mov al, byte [esp + 0x17]
mov edi, 0x862a24
mov byte [esp + 0x2c], al
or ecx, 0xffffffff
xor eax, eax
xor esi, esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 1
mov ebx, ecx
lea ecx, [esp + 0x30]
push ebx
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], esi
call fcn.00401b40
test al, al
je 0x76282d
mov edi, dword [esp + 0x30]
mov ecx, ebx
mov edx, ecx
mov esi, 0x862a24
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x30]
call fcn.00405070
xor esi, esi
mov ecx, dword [0x9ebaa4]
lea edx, [esp + 0x2c]
push edx
mov byte [esp + 0x1a0], 7
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, dword [esp + 0x30]
mov byte [esp + 0x19c], 3
cmp eax, esi
je 0x762872
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x762869
cmp al, 0xff
je 0x762869
dec al
mov byte [ecx], al
jmp 0x762872
push ecx
call fcn.007a02e0
add esp, 4
mov eax, dword [0x9ebab4]
xor esi, esi
push esi
push eax
call fcn.007649c0
push 0x24
call fcn.007a2d8d
add esp, 0xc
mov dword [esp + 0x10], eax
cmp eax, esi
mov byte [esp + 0x19c], 8
je 0x7628a3
mov ecx, eax
call fcn.005b7c20
jmp 0x7628a5
xor eax, eax
mov byte [esp + 0x19c], 3
push 0x7c
mov dword [0x9ebaa8], eax
call fcn.007a2d8d
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, esi
mov byte [esp + 0x19c], 9
je 0x7628d5
mov ecx, eax
call fcn.006de890
jmp 0x7628d7
xor eax, eax
mov cl, byte [esp + 0x17]
mov byte [esp + 0x19c], 3
mov dword [0x9ebaac], eax
mov byte [esp + 0x1c], cl
mov edi, 0x833a9c
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x24], esi
mov ebx, ecx
lea ecx, [esp + 0x20]
push ebx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], esi
call fcn.00401b40
test al, al
je 0x76293c
mov edi, dword [esp + 0x20]
mov ecx, ebx
mov edx, ecx
mov esi, 0x833a9c
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x20]
call fcn.00405070
mov edi, 0x833a94
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov byte [esp + 0x1a0], 0xa
mov ebx, ecx
lea ecx, [esp + 0x20]
push ebx
call fcn.00401b40
test al, al
je 0x76298a
mov edi, dword [esp + 0x20]
mov ecx, ebx
mov eax, ecx
mov esi, 0x833a94
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x24], ebx
mov byte [ecx + ebx], 0
push 0x10
call fcn.007a2d8d
add esp, 4
mov dword [esp + 0x10], eax
xor esi, esi
mov byte [esp + 0x19c], 0xb
cmp eax, esi
je 0x7629af
mov ecx, eax
call fcn.006e0810
jmp 0x7629b1
xor eax, eax
mov dl, byte [esp + 0x17]
mov byte [esp + 0x19c], 0xa
mov dword [0x9ebab0], eax
mov byte [esp + 0x3c], dl
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], esi
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x2c]
push eax
mov bl, 0xc
push 0x862a14
push ecx
mov byte [esp + 0x1a8], bl
call fcn.00508690
add esp, 0xc
mov edx, dword [0x7e565c]
lea ecx, [esp + 0x3c]
push edx
push esi
push eax
mov byte [esp + 0x1a8], 0xd
call fcn.00404c60
mov eax, dword [esp + 0x30]
mov byte [esp + 0x19c], bl
cmp eax, esi
je 0x762a38
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x762a2f
cmp al, 0xff
je 0x762a2f
dec al
mov byte [ecx], al
jmp 0x762a38
push ecx
call fcn.007a02e0
add esp, 4
cmp dword [0x9ebab0], esi
je 0x762a67
push esi
push esi
sub esp, 0x10
lea eax, [esp + 0x54]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.004267d0
mov ecx, dword [0x9ebab0]
mov byte [esp + 0x1b4], bl
call fcn.006e0a80
push 0xe70
call fcn.007a2d8d
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, esi
mov byte [esp + 0x19c], 0xf
je 0x762a8d
mov ecx, eax
call fcn.00758b40
jmp 0x762a8f
xor eax, eax
mov ecx, dword [esp + 0x1a8]
push 1
push 1
push esi
push ecx
mov byte [esp + 0x1ac], bl
push ebp
mov ecx, eax
mov dword [0x9eba50], eax
call fcn.00758c50
fild dword [0x8b16bc]
mov edx, dword [0x8b16c0]
mov ecx, 0x8b1630
push edx
fstp dword [0x82c564]
call fcn.0044f880
push 0x38
call fcn.007a2d8d
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, esi
mov byte [esp + 0x19c], 0x10
je 0x762af0
mov ecx, eax
call fcn.00491c50
jmp 0x762af2
xor eax, eax
mov edi, dword [0x9ea094]
mov byte [esp + 0x19c], bl
mov dword [0x9eba60], eax
lea eax, [esp + 0x18]
lea ecx, [esp + 0x10]
lea esi, [edi + 0x14]
push eax
push ecx
mov ecx, esi
mov dword [esp + 0x20], 2
call fcn.007673f0
mov esi, dword [esi + 4]
mov eax, dword [esp + 0x10]
cmp eax, esi
je 0x762b3c
mov edx, dword [esp + 0x18]
mov ecx, dword [eax + 0xc]
cmp edx, ecx
jb 0x762b3c
lea eax, [esp + 0x10]
jmp 0x762b44
mov dword [esp + 0x18], esi
lea eax, [esp + 0x18]
mov eax, dword [eax]
mov ecx, dword [edi + 0x18]
cmp eax, ecx
jne 0x762b53
xor edi, edi
xor esi, esi
jmp 0x762b58
lea esi, [eax + 0x10]
xor edi, edi
push 0xdc
call fcn.007a2d8d
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, edi
mov byte [esp + 0x19c], 0x11
je 0x762b7e
mov ecx, eax
call fcn.00632380
jmp 0x762b80
xor eax, eax
mov byte [esp + 0x19c], bl
push 0x2c
mov dword [0x9eba64], eax
call fcn.007a2d8d
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, edi
mov byte [esp + 0x19c], 0x12
je 0x762baf
mov ecx, eax
call fcn.00558490
jmp 0x762bb1
xor eax, eax
add esi, 0x184
mov byte [esp + 0x19c], bl
push esi
mov dword [0x9eba6c], eax
call fcn.00403180
push 0x48
call fcn.007a2d8d
add esp, 8
mov dword [esp + 0x10], eax
cmp eax, edi
mov byte [esp + 0x19c], 0x13
je 0x762bec
mov ecx, eax
call fcn.006e1460
jmp 0x762bee
xor eax, eax
mov byte [esp + 0x19c], bl
push 0x20
mov dword [0x9eba78], eax
call fcn.007a2d8d
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, edi
mov byte [esp + 0x19c], 0x14
je 0x762c1d
mov ecx, eax
call fcn.006d9510
jmp 0x762c1f
xor eax, eax
mov byte [esp + 0x19c], bl
push 0x608
mov dword [0x9eba7c], eax
call fcn.007a2d8d
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, edi
mov byte [esp + 0x19c], 0x15
je 0x762c51
mov ecx, eax
call fcn.006e4de0
jmp 0x762c53
xor eax, eax
mov byte [esp + 0x19c], bl
push 0x54
mov dword [0x9eba84], eax
call fcn.007a2d8d
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, edi
mov byte [esp + 0x19c], 0x16
je 0x762c82
mov ecx, eax
call fcn.00463990
jmp 0x762c84
xor eax, eax
mov byte [esp + 0x19c], bl
push 0x3e8
mov dword [0x9eba80], eax
call fcn.007a2d8d
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, edi
mov byte [esp + 0x19c], 0x17
je 0x762cb6
mov ecx, eax
call fcn.0069bbe0
jmp 0x762cb8
xor eax, eax
mov byte [esp + 0x19c], bl
push 0x1c
mov dword [0x9eba88], eax
call fcn.007a2d8d
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, edi
mov byte [esp + 0x19c], 0x18
je 0x762ce7
mov ecx, eax
call fcn.006d9200
jmp 0x762ce9
xor eax, eax
mov byte [esp + 0x19c], bl
push 0x24
mov dword [0x9eba8c], eax
call fcn.007a2d8d
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, edi
mov byte [esp + 0x19c], 0x19
je 0x762d18
mov ecx, eax
call fcn.006dc7a0
jmp 0x762d1a
xor eax, eax
mov byte [esp + 0x19c], bl
push 0x20
mov dword [0x9eba90], eax
call fcn.007a2d8d
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, edi
mov byte [esp + 0x19c], 0x1a
je 0x762d49
mov ecx, eax
call fcn.006dcdf0
jmp 0x762d4b
xor eax, eax
mov byte [esp + 0x19c], bl
push 0x20
mov dword [0x9eba94], eax
call fcn.007a2d8d
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, edi
mov byte [esp + 0x19c], 0x1b
je 0x762d7a
mov ecx, eax
call fcn.0075cb90
jmp 0x762d7c
xor eax, eax
mov byte [esp + 0x19c], bl
push 0x20
mov dword [0x9eba98], eax
call fcn.007a2d8d
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, edi
mov byte [esp + 0x19c], 0x1c
je 0x762dab
mov ecx, eax
call fcn.006ef5e0
jmp 0x762dad
xor eax, eax
mov byte [esp + 0x19c], bl
push 0x154
mov dword [0x9eba9c], eax
call fcn.007a2d8d
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, edi
mov byte [esp + 0x19c], 0x1d
je 0x762ddf
mov ecx, eax
call fcn.00760fe0
jmp 0x762de1
xor eax, eax
mov byte [esp + 0x19c], bl
mov dword [0x9ebaa0], eax
lea eax, [esp + 0x100]
mov dword [esp + 0x100], 0x94
push eax
call dword [sym.imp.kernel32.dll_GetVersionExA]
mov eax, dword [esp + 0x110]
cmp eax, 2
jne 0x762e27
cmp dword [esp + 0x104], 5
sbb ecx, ecx
add ecx, 5
mov dword [0x862a08], ecx
jmp 0x762e52
cmp eax, 1
jne 0x762e52
mov eax, dword [esp + 0x108]
cmp eax, 0xa
jae 0x762e44
mov dword [0x862a08], 1
jmp 0x762e52
cmp eax, 0x5a
sbb edx, edx
add edx, 3
mov dword [0x862a08], edx
mov eax, dword [esp + 0x40]
mov byte [esp + 0x19c], 0xa
cmp eax, edi
je 0x762e7f
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x762e76
cmp al, 0xff
je 0x762e76
dec al
mov byte [ecx], al
jmp 0x762e7f
push ecx
call fcn.007a02e0
add esp, 4
mov eax, dword [esp + 0x20]
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
cmp eax, edi
mov byte [esp + 0x19c], 3
je 0x762eb8
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x762eaf
cmp al, 0xff
je 0x762eaf
dec al
mov byte [ecx], al
jmp 0x762eb8
push ecx
call fcn.007a02e0
add esp, 4
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
cmp ecx, edi
mov dword [esp + 0x19c], 0xffffffff
je 0x762ef3
mov al, byte [ecx - 1]
test al, al
je 0x762ee9
cmp al, 0xff
je 0x762ee9
dec al
mov byte [ecx - 1], al
jmp 0x762ef3
dec ecx
push ecx
call fcn.007a02e0
add esp, 4
mov al, 1
mov ecx, dword [esp + 0x194]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x190
ret