Function at 0x10cf0070
Capabilities:
Check os version
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10e2a660
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, dword [ebp + 8]
push ebx
mov ebx, dword [ebp + 0xc]
push esi
mov esi, ecx
mov ecx, dword [esi + 0x1c]
test ecx, ecx
push edi
mov edi, dword [ebp + 0x10]
mov dword [ebp - 0x10], esp
mov dword [ebp - 4], 0
mov dword [esi + 0x30], ebx
mov dword [esi + 0x34], edi
je 0x10cf0100
cmp eax, 0x102
jne 0x10cf00bd
mov eax, dword [ecx]
push ebx
push esi
call dword [eax]
jmp 0x10cf00fd
cmp eax, 0x100
jne 0x10cf00cd
mov edx, dword [ecx]
push ebx
push esi
call dword [edx + 4]
jmp 0x10cf00fd
cmp eax, 0x201
jne 0x10cf00e6
mov edx, dword [ecx]
mov eax, edi
shr eax, 0x10
push eax
movzx eax, di
push eax
push esi
call dword [edx + 8]
jmp 0x10cf00fd
cmp eax, 0x204
jne 0x10cf0100
mov edx, dword [ecx]
mov eax, edi
shr eax, 0x10
push eax
movzx eax, di
push eax
push esi
call dword [edx + 0xc]
mov eax, dword [ebp + 8]
test byte [esi + 0x10], 2
jne 0x10cf01bc
mov ecx, dword [0x1123d418]
test ecx, ecx
jne 0x10cf01bc
cmp eax, 0x1c
jne 0x10cf0188
mov eax, dword [0x10fd11ac]
test eax, eax
push 0
push ebx
mov dword [0x1123f42c], ebx
push 0x86
je 0x10cf015e
mov eax, dword [esi + 4]
push eax
call dword [0x10e43a18]
mov ecx, dword [ebp + 8]
mov eax, dword [esi]
push edi
push ebx
push ecx
mov ecx, esi
call dword [eax + 0x20]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [esi + 4]
push ecx
call dword [0x10e43994]
mov ecx, dword [ebp + 8]
mov eax, dword [esi]
push edi
push ebx
push ecx
mov ecx, esi
call dword [eax + 0x20]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp eax, 0x86
jne 0x10cf01bc
mov eax, dword [0x1123f42c]
test eax, eax
je 0x10cf09d2
test ebx, ebx
jne 0x10cf09d2
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp eax, 2
jne 0x10cf01eb
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0xe0]
mov ecx, dword [ebp + 8]
mov eax, dword [esi]
push edi
push ebx
push ecx
mov ecx, esi
call dword [eax + 0x20]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp eax, 0x2b
jne 0x10cf0213
xor eax, eax
cmp eax, dword [esi + 0x24]
jge 0x10cf01a4
mov ecx, dword [esi + 0x20]
mov ecx, dword [ecx + eax*4]
mov edx, dword [ecx + 4]
cmp edx, dword [edi + 0x14]
jne 0x10cf0210
mov eax, dword [ecx]
push edi
call dword [eax + 0x8c]
jmp 0x10cf01a4
inc eax
jmp 0x10cf01f2
cmp eax, 0x2c
jne 0x10cf0249
xor eax, eax
lea ebx, [ebx]
cmp eax, dword [esi + 0x24]
jge 0x10cf01a4
mov ecx, dword [esi + 0x20]
mov ecx, dword [ecx + eax*4]
movzx edx, word [ecx + 0xc]
cmp edx, dword [edi + 4]
jne 0x10cf0246
mov eax, dword [ecx]
push edi
call dword [eax + 0x90]
jmp 0x10cf01a4
inc eax
jmp 0x10cf0220
cmp eax, 0x10
jne 0x10cf0275
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0xdc]
test al, al
jne 0x10cf09d2
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp eax, 0x102
jne 0x10cf02a4
mov eax, dword [esi]
push ebx
mov ecx, esi
call dword [eax + 0x58]
mov ecx, dword [ebp + 8]
mov eax, dword [esi]
push edi
push ebx
push ecx
mov ecx, esi
call dword [eax + 0x20]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp eax, 0x100
jne 0x10cf02d3
mov edx, dword [esi]
push ebx
mov ecx, esi
call dword [edx + 0x5c]
mov ecx, dword [ebp + 8]
mov eax, dword [esi]
push edi
push ebx
push ecx
mov ecx, esi
call dword [eax + 0x20]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp eax, 0xf
jne 0x10cf0302
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x84]
mov ecx, dword [ebp + 8]
mov eax, dword [esi]
push edi
push ebx
push ecx
mov ecx, esi
call dword [eax + 0x20]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp eax, 1
jne 0x10cf0331
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x88]
mov ecx, dword [ebp + 8]
mov eax, dword [esi]
push edi
push ebx
push ecx
mov ecx, esi
call dword [eax + 0x20]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp eax, 0x113
jne 0x10cf0362
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xa8]
mov ecx, dword [ebp + 8]
mov eax, dword [esi]
push edi
push ebx
push ecx
mov ecx, esi
call dword [eax + 0x20]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp eax, 0x110
jne 0x10cf0393
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x94]
mov ecx, dword [ebp + 8]
mov eax, dword [esi]
push edi
push ebx
push ecx
mov ecx, esi
call dword [eax + 0x20]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp eax, 0x121
jne 0x10cf03c4
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x98]
mov ecx, dword [ebp + 8]
mov eax, dword [esi]
push edi
push ebx
push ecx
mov ecx, esi
call dword [eax + 0x20]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp eax, 7
jne 0x10cf03fa
push ebx
call fcn.10cee5d0
mov edx, dword [esi]
add esp, 4
push ebx
mov ecx, esi
call dword [edx + 0x38]
mov ecx, dword [ebp + 8]
mov eax, dword [esi]
push edi
push ebx
push ecx
mov ecx, esi
call dword [eax + 0x20]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp eax, 6
jne 0x10cf042f
mov eax, dword [esi]
xor ecx, ecx
test bx, bx
setne cl
push ecx
mov ecx, esi
call dword [eax + 0x54]
mov ecx, dword [ebp + 8]
mov eax, dword [esi]
push edi
push ebx
push ecx
mov ecx, esi
call dword [eax + 0x20]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp eax, 8
jne 0x10cf0465
push ebx
call fcn.10cee590
mov edx, dword [esi]
add esp, 4
push ebx
mov ecx, esi
call dword [edx + 0x3c]
mov ecx, dword [ebp + 8]
mov eax, dword [esi]
push edi
push ebx
push ecx
mov ecx, esi
call dword [eax + 0x20]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp eax, 5
jne 0x10cf049c
mov eax, dword [esi]
mov ecx, edi
shr ecx, 0x10
push ecx
movzx edx, di
push edx
push ebx
mov ecx, esi
call dword [eax + 0x40]
mov ecx, dword [ebp + 8]
mov eax, dword [esi]
push edi
push ebx
push ecx
mov ecx, esi
call dword [eax + 0x20]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp eax, 0x46
jne 0x10cf04d8
mov eax, dword [esi]
lea ecx, [edi + 0x14]
push ecx
lea edx, [edi + 0x10]
push edx
lea ecx, [edi + 0xc]
push ecx
lea edx, [edi + 8]
push edx
mov ecx, esi
call dword [eax + 0x44]
mov ecx, dword [ebp + 8]
mov eax, dword [esi]
push edi
push ebx
push ecx
mov ecx, esi
call dword [eax + 0x20]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp eax, 3
jne 0x10cf050e
mov eax, dword [esi]
mov ecx, edi
shr ecx, 0x10
movzx edx, di
push ecx
push edx
mov ecx, esi
call dword [eax + 0x48]
mov ecx, dword [ebp + 8]
mov eax, dword [esi]
push edi
push ebx
push ecx
mov ecx, esi
call dword [eax + 0x20]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp eax, 0x302
jne 0x10cf053c
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x68]
mov ecx, dword [ebp + 8]
mov eax, dword [esi]
push edi
push ebx
push ecx
mov ecx, esi
call dword [eax + 0x20]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp eax, 0x18
jne 0x10cf0569
mov edx, dword [esi]
push ebx
mov ecx, esi
call dword [edx + 0x6c]
mov ecx, dword [ebp + 8]
mov eax, dword [esi]
push edi
push ebx
push ecx
mov ecx, esi
call dword [eax + 0x20]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp eax, 0x4a
jne 0x10cf0597
mov eax, dword [esi]
push edi
push ebx
mov ecx, esi
call dword [eax + 0x34]
mov ecx, dword [ebp + 8]
mov eax, dword [esi]
push edi
push ebx
push ecx
mov ecx, esi
call dword [eax + 0x20]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp eax, 0x215
jne 0x10cf05c8
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0xac]
mov ecx, dword [ebp + 8]
mov eax, dword [esi]
push edi
push ebx
push ecx
mov ecx, esi
call dword [eax + 0x20]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp eax, 0x222
jne 0x10cf0604
mov edx, dword [esi + 4]
mov eax, dword [esi]
xor ecx, ecx
cmp edi, edx
sete cl
push ecx
mov ecx, esi
call dword [eax + 0xb0]
mov ecx, dword [ebp + 8]
mov eax, dword [esi]
push edi
push ebx
push ecx
mov ecx, esi
call dword [eax + 0x20]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp eax, 0x200
jne 0x10cf0640
mov edx, dword [esi]
mov eax, edi
movzx ecx, di
shr eax, 0x10
push eax
push ecx
push ebx
mov ecx, esi
call dword [edx + 0xb4]
mov ecx, dword [ebp + 8]
mov eax, dword [esi]
push edi
push ebx
push ecx
mov ecx, esi
call dword [eax + 0x20]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp eax, 0x201
jne 0x10cf0671
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xb8]
mov ecx, dword [ebp + 8]
mov eax, dword [esi]
push edi
push ebx
push ecx
mov ecx, esi
call dword [eax + 0x20]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp eax, 0x203
jne 0x10cf06a2
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0xbc]
mov ecx, dword [ebp + 8]
mov eax, dword [esi]
push edi
push ebx
push ecx
mov ecx, esi
call dword [eax + 0x20]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp eax, 0x209
jne 0x10cf06d3
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xc0]
mov ecx, dword [ebp + 8]
mov eax, dword [esi]
push edi
push ebx
push ecx
mov ecx, esi
call dword [eax + 0x20]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp eax, 0x206
jne 0x10cf0704
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0xc4]
mov ecx, dword [ebp + 8]
mov eax, dword [esi]
push edi
push ebx
push ecx
mov ecx, esi
call dword [eax + 0x20]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp eax, 0x204
jne 0x10cf0735
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xc8]
mov ecx, dword [ebp + 8]
mov eax, dword [esi]
push edi
push ebx
push ecx
mov ecx, esi
call dword [eax + 0x20]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp eax, 0x202
jne 0x10cf0766
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0xcc]
mov ecx, dword [ebp + 8]
mov eax, dword [esi]
push edi
push ebx
push ecx
mov ecx, esi
call dword [eax + 0x20]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp eax, 0x205
jne 0x10cf0797
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xd0]
mov ecx, dword [ebp + 8]
mov eax, dword [esi]
push edi
push ebx
push ecx
mov ecx, esi
call dword [eax + 0x20]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp eax, 0x300
jne 0x10cf07c5
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x60]
mov ecx, dword [ebp + 8]
mov eax, dword [esi]
push edi
push ebx
push ecx
mov ecx, esi
call dword [eax + 0x20]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp eax, 0x301
jne 0x10cf07f3
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x64]
mov ecx, dword [ebp + 8]
mov eax, dword [esi]
push edi
push ebx
push ecx
mov ecx, esi
call dword [eax + 0x20]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp eax, 0x304
jne 0x10cf0821
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x70]
mov ecx, dword [ebp + 8]
mov eax, dword [esi]
push edi
push ebx
push ecx
mov ecx, esi
call dword [eax + 0x20]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp eax, 0x14
jne 0x10cf084d
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x74]
test eax, eax
je 0x10cf09d2
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp eax, 0x20
jne 0x10cf087c
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0xd8]
test eax, eax
je 0x10cf09d2
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp eax, 0x4e
jne 0x10cf08da
xor eax, eax
cmp eax, dword [esi + 0x24]
mov dword [ebp + 0xc], eax
jge 0x10cf08b2
mov ecx, dword [esi + 0x20]
mov ecx, dword [ecx + eax*4]
movzx edx, word [ecx + 0xc]
cmp ebx, edx
jne 0x10cf08ac
mov edx, dword [ebp + 8]
mov eax, dword [ecx]
push edi
push ebx
push edx
call dword [eax + 0x24]
test eax, eax
jne 0x10cf01a4
mov eax, dword [ebp + 0xc]
inc eax
jmp 0x10cf0883
mov eax, dword [esi]
push ebx
mov ecx, esi
call dword [eax + 0x4c]
mov ecx, dword [ebp + 8]
mov eax, dword [esi]
push edi
push ebx
push ecx
mov ecx, esi
call dword [eax + 0x20]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp eax, 0x115
jne 0x10cf090a
mov edx, dword [esi]
push edi
push ebx
mov ecx, esi
call dword [edx + 0x78]
mov ecx, dword [ebp + 8]
mov eax, dword [esi]
push edi
push ebx
push ecx
mov ecx, esi
call dword [eax + 0x20]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp eax, 0x101
jne 0x10cf093d
mov eax, dword [esi]
push edi
push ebx
mov ecx, esi
call dword [eax + 0x80]
mov ecx, dword [ebp + 8]
mov eax, dword [esi]
push edi
push ebx
push ecx
mov ecx, esi
call dword [eax + 0x20]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp eax, 0x111
je 0x10cf099c
cmp eax, 0x114
je 0x10cf0993
cmp eax, 0x112
jne 0x10cf0976
mov edx, dword [esi]
push ebx
mov ecx, esi
call dword [edx + 0x50]
test eax, eax
je 0x10cf09d2
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp eax, 0x8034
jne 0x10cf09d2
mov eax, dword [esi + 0x38]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [esi]
push edi
push ebx
mov ecx, esi
call dword [eax + 0x7c]
xor eax, eax
cmp eax, dword [esi + 0x24]
mov dword [ebp + 0xc], eax
jge 0x10cf09ca
mov ecx, dword [esi + 0x20]
mov ecx, dword [ecx + eax*4]
cmp edi, dword [ecx + 4]
jne 0x10cf09c4
mov eax, dword [ebp + 8]
mov edx, dword [ecx]
push edi
push ebx
push eax
call dword [edx + 0x24]
test eax, eax
jne 0x10cf01a4
mov eax, dword [ebp + 0xc]
inc eax
jmp 0x10cf099e
mov edx, dword [esi]
push ebx
mov ecx, esi
call dword [edx + 0x4c]
mov ecx, dword [ebp + 8]
mov eax, dword [esi]
push edi
push ebx
push ecx
mov ecx, esi
call dword [eax + 0x20]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0xc