Function at 0x10051d71
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10084d76
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x154
push esi
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xc4], 0x478c9dff
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x13c], 0x9796a0b5
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x118], 0xfff6
mov dword [ebp - 0x10], 0
jmp 0x10051dd9
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x10051def
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xd8], 6
jmp 0x10051dd2
mov dword [ebp - 0x10], 0
jmp 0x10051dff
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x10051e15
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xe8], 0x381e1684
jmp 0x10051df8
mov dword [ebp - 0x1c], 8
jmp 0x10051e25
mov eax, dword [ebp - 0x1c]
dec eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0xffffffe6
jge 0x10051fef
mov dword [ebp - 0xc0], 1
mov dword [ebp - 0x11c], 1
push 4
lea ecx, [ebp - 0xf4]
call fcn.1000c0a5
and dword [ebp - 4], 0
mov dword [ebp - 0x78], 1
mov dword [ebp - 0x2c], 0
jmp 0x10051e6b
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 2
jge 0x10051e81
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x160], 0xffffffff
jmp 0x10051e64
push 0x6a77
lea eax, [ebp - 0xf4]
push eax
push 0xa46
push 1
lea eax, [ebp - 0x2c]
push eax
call fcn.100515c4
add esp, 0x14
mov eax, dword [ebp - 0x78]
inc eax
mov dword [ebp - 0x78], eax
xor eax, eax
sub eax, dword [ebp - 0x1c]
cmp eax, 0xb81f
jge 0x10051ebf
mov dword [ebp - 0x84], 1
jmp 0x10051ec6
and dword [ebp - 0x84], 0
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0x84]
inc ecx
add eax, ecx
cmp eax, 0x264f
jge 0x10051ee8
mov dword [ebp - 0xb0], 1
jmp 0x10051eef
and dword [ebp - 0xb0], 0
mov eax, dword [ebp - 0xb0]
neg eax
push 4
pop ecx
shl ecx, 0
cmp eax, dword [ebp + ecx - 0xe8]
jg 0x10051f22
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0xe8], 0
jne 0x10051f22
cmp dword [ebp - 0x1c], 0
jne 0x10051f22
and dword [ebp - 0x5c], 0
jmp 0x10051f29
mov dword [ebp - 0x5c], 1
mov eax, dword [ebp - 0x9c]
cmp dword [ebp - 0x5c], eax
je 0x10051f3d
mov dword [ebp - 0x64], 1
jmp 0x10051f41
and dword [ebp - 0x64], 0
mov eax, dword [ebp - 0x9c]
cmp dword [ebp - 0x64], eax
jle 0x10051f58
mov dword [ebp - 0xcc], 1
jmp 0x10051f5f
and dword [ebp - 0xcc], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0xd8]
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0x138], eax
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0xd8], 0x40c41ab7
je 0x10051f9d
mov dword [ebp - 0x8c], 1
jmp 0x10051fa4
and dword [ebp - 0x8c], 0
mov esi, dword [ebp - 0x1c]
add esi, dword [ebp - 0x8c]
push 3
lea ecx, [ebp - 0xf4]
call fcn.1000c112
cmp esi, dword [eax]
jge 0x10051fc7
mov dword [ebp - 0x6c], 1
jmp 0x10051fcb
and dword [ebp - 0x6c], 0
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x6c]
mov dword [ebp + eax - 0xd8], ecx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xf4]
call fcn.1000c10d
jmp 0x10051e1e
mov byte [ebp - 0x1e], 0
movzx eax, byte [ebp - 0x1e]
test eax, eax
je 0x1005200f
push 0
push 0x1d0f
push 0x3bc
call fcn.1005298f
add esp, 0xc
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 8]
mov edx, dword [ebp + 0xc]
mov edx, dword [edx]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
inc eax
mov ecx, dword [ebp + 8]
mov dword [ecx + 0xc], eax
mov dword [ebp - 0x110], 0xfffffff8
mov dword [ebp - 0x10c], 0xfffffff8
mov dword [ebp - 0x108], 0xfffffff8
mov dword [ebp - 0x104], 0xfffffff8
mov dword [ebp - 0x30], 0xf2c29a3d
mov dword [ebp - 0x30], 0
jmp 0x1005206f
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 4
jge 0x10052085
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x110], 0x3fa75c1
jmp 0x10052068
push 1
push 0x6deb
push 0x343d
call fcn.1005166e
add esp, 0xc
mov eax, dword [ebp + 0x10]
cmp dword [eax], 0
je 0x100523f2
mov dword [ebp - 0xdc], 0
push 2
lea ecx, [ebp - 0x100]
call fcn.1000c0a5
mov dword [ebp - 4], 1
mov dword [ebp - 0xb4], 1
mov dword [ebp - 0x44], 0
jmp 0x100520dd
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 2
jge 0x100520f9
push dword [ebp - 0x44]
lea ecx, [ebp - 0x100]
call fcn.1000c112
mov dword [eax], 0x5a60d005
jmp 0x100520d6
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp - 0x100]
push eax
push 1
lea eax, [ebp - 0xdc]
push eax
call fcn.100516e4
add esp, 0x10
mov byte [ebp - 0x20], 0
movzx eax, byte [ebp - 0x20]
test eax, eax
je 0x1005212c
push 1
call fcn.10051771
pop ecx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x100]
call fcn.1000c10d
lea eax, [ebp + 0x10]
push eax
lea eax, [ebp + 0x14]
push eax
lea eax, [ebp + 0x18]
push eax
push 1
call fcn.100517d2
add esp, 0x10
mov dword [ebp - 0x18], 2
mov dword [ebp - 0xa4], 1
mov dword [ebp - 0x50], 0x631cd1ac
mov dword [ebp - 0x80], 0x2fd6b221
mov dword [ebp - 0xb8], 0x4d2570d9
mov dword [ebp - 0x14], 0
jmp 0x1005218a
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x1005219d
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x4c], 0xfffffff7
jmp 0x10052183
mov dword [ebp - 0x14], 0
jmp 0x100521ad
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 1
jge 0x100521c0
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x38], 0x9338886a
jmp 0x100521a6
mov dword [ebp - 0x18], 0
jmp 0x100521d0
mov eax, dword [ebp - 0x18]
dec eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0xfffffffa
jle 0x1005221e
mov dword [ebp - 0xc8], 0x29bf390
push 1
call fcn.10051a19
pop ecx
push 0x4bfd
push 0x1c36
push 0x5bd4
push 0x1094
lea eax, [ebp - 0xc8]
push eax
push 0x2377
push 0x67fa
push 0x4f8c
push 1
call fcn.10051a5a
add esp, 0x24
jmp 0x100521c9
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x4c]
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x134], eax
push 4
pop eax
imul eax, eax, 0
imul eax, dword [ebp + eax - 0x38], 0xcadf
cmp eax, 0xcf68
je 0x10052258
mov dword [ebp - 0xac], 1
jmp 0x1005225f
and dword [ebp - 0xac], 0
cmp dword [ebp - 0xac], 0x7965596
jne 0x10052274
mov dword [ebp - 0x74], 1
jmp 0x10052278
and dword [ebp - 0x74], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x38]
cmp dword [ebp - 0x74], eax
jle 0x10052293
mov dword [ebp - 0x94], 1
jmp 0x1005229a
and dword [ebp - 0x94], 0
cmp dword [ebp - 0x94], 7
je 0x100522ac
mov dword [ebp - 0x7c], 1
jmp 0x100522b0
and dword [ebp - 0x7c], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x4c]
cmp dword [ebp - 0x7c], eax
jl 0x100522cb
mov dword [ebp - 0xe0], 1
jmp 0x100522d2
and dword [ebp - 0xe0], 0
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x120], eax
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x38]
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0xd0], eax
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0xd0]
mov dword [ebp + eax - 0x38], ecx
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x4c]
mov dword [ebp - 0x124], eax
mov eax, 0xdb5a
test eax, eax
jne 0x10052333
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x4c], 0
jne 0x10052333
and dword [ebp - 0x54], 0
jmp 0x1005233a
mov dword [ebp - 0x54], 1
cmp dword [ebp - 0x54], 0x8dd2
jne 0x1005234c
mov dword [ebp - 0x58], 1
jmp 0x10052350
and dword [ebp - 0x58], 0
mov eax, dword [ebp - 0x58]
dec eax
cmp eax, 0xfffc
je 0x10052364
mov dword [ebp - 0x60], 1
jmp 0x10052368
and dword [ebp - 0x60], 0
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x18], eax
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x4c]
cmp dword [ebp - 0x18], eax
jg 0x10052386
mov dword [ebp - 0x68], 1
jmp 0x1005238a
and dword [ebp - 0x68], 0
cmp dword [ebp - 0x68], 4
jne 0x1005239d
push 8
pop eax
test eax, eax
jne 0x1005239d
and dword [ebp - 0x70], 0
jmp 0x100523a4
mov dword [ebp - 0x70], 1
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 0
jge 0x100523c2
mov dword [ebp - 0x88], 1
jmp 0x100523c9
and dword [ebp - 0x88], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x4c]
sub eax, dword [ebp - 0x88]
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
add ecx, dword [eax + 0x10]
mov eax, dword [ebp + 0x1c]
mov dword [eax], ecx
jmp 0x10052644
mov dword [ebp - 0x24], 1
push 1
lea ecx, [ebp - 0x148]
call fcn.1000c0a5
mov dword [ebp - 4], 2
mov dword [ebp - 0x90], 0x401d1b98
mov dword [ebp - 0xa0], 0xffffffff
push 0x454
push 0x7592
push 1
lea eax, [ebp - 0x128]
push eax
lea eax, [ebp - 0x148]
push eax
push 0x6360
push 0x5434
call fcn.10051b4f
add esp, 0x1c
mov dword [ebp - 0x24], 0
jmp 0x1005245d
mov eax, dword [ebp - 0x24]
dec eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0xfffffffe
jge 0x10052515
mov dword [ebp - 0x3c], 0x136951ad
mov byte [ebp - 0x1d], 0
movzx eax, byte [ebp - 0x1d]
test eax, eax
je 0x10052482
push 0
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
mov dword [ebp - 0x3c], 0
jmp 0x10052492
mov eax, dword [ebp - 0x3c]
inc eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 6
jle 0x10052510
mov dword [ebp - 0x40], 0xc5416513
mov dword [ebp - 0x40], 0
jmp 0x100524af
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0
jg 0x100524eb
mov byte [ebp - 0x1f], 0
movzx eax, byte [ebp - 0x1f]
test eax, eax
je 0x100524cf
push 0x42e
push 1
call fcn.10051c28
pop ecx
pop ecx
mov byte [ebp - 0x26], 0
movzx eax, byte [ebp - 0x26]
test eax, eax
je 0x100524e9
push 1
push 0x30df
call fcn.10051c6f
pop ecx
pop ecx
jmp 0x100524a8
mov byte [ebp - 0x25], 0
movzx eax, byte [ebp - 0x25]
test eax, eax
je 0x1005250b
push 0x51ee
push 1
push 0x4cfd
call fcn.10051c9f
add esp, 0xc
jmp 0x1005248b
jmp 0x10052456
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x90], 1
je 0x10052533
mov dword [ebp - 0x98], 1
jmp 0x1005253a
and dword [ebp - 0x98], 0
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0xa0], eax
cmp dword [ebp - 0xa0], 0
je 0x10052564
mov eax, 0x1ece3051
test eax, eax
je 0x10052564
mov dword [ebp - 0xa8], 1
jmp 0x1005256b
and dword [ebp - 0xa8], 0
mov eax, dword [ebp - 0x24]
imul eax, dword [ebp - 0xa8]
mov dword [ebp - 0x24], eax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x148]
call fcn.1000c10d
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
add ecx, dword [eax + 0x10]
mov eax, dword [ebp + 0x18]
mov dword [eax], ecx
mov dword [ebp - 0x34], 0xfffffffe
push 1
lea ecx, [ebp - 0x158]
call fcn.1000c0a5
mov dword [ebp - 4], 3
push 0x11ca
push 0x2e8f
push 0
lea eax, [ebp - 0x158]
push eax
lea eax, [ebp - 0x12c]
push eax
call fcn.10055d2b
add esp, 0x14
push 1
push 0x17cb
lea eax, [ebp - 0x34]
push eax
call fcn.10051d06
add esp, 0xc
mov dword [ebp - 0x34], 0
jmp 0x100525f5
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
jg 0x10052627
mov dword [ebp - 0xbc], 0x5bf25cbd
lea eax, [ebp - 0xbc]
push eax
push 0x4533
push 0x6ce3
push 0
push 0x3c15
call fcn.10055c7b
add esp, 0x14
jmp 0x100525ee
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x158]
call fcn.1000c10d
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
add ecx, dword [eax + 0x10]
mov eax, dword [ebp + 0x1c]
mov dword [eax], ecx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret