Function at 0x10011256
Capabilities:
Check os version

Disassembly:
mov eax, 0x100576b8
call fcn.100567e0
sub esp, 0x114
cmp byte [ebp + 8], 0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov esi, edx
mov dword [ebp - 0x70], ecx
je 0x10011bfe
mov edi, dword [ebp + 0x1c]
lea eax, [ebp - 0x70]
and dword [ebp - 0xcc], 0
mov dword [ebp - 0x98], eax
xor eax, eax
mov dword [ebp - 0x54], edi
mov dword [ebp - 0xc8], 7
mov word [ebp - 0xdc], ax
and dword [ebp - 4], eax
lea ecx, [ebp - 0xac]
xor ebx, ebx
mov dword [ebp - 0x20], 0xfffffffe
inc ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x20], 0xedd1edb6
push 4
call fcn.100063b9
mov byte [ebp - 4], bl
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x9c], 0xfa9dfeee
mov dword [ebp - 0x34], 0
jmp 0x100112f3
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0x4c], 0xffffffff
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 2
jl 0x100112e5
push ecx
push ecx
lea eax, [ebp - 0xac]
mov edx, 0x1ff5
push eax
lea eax, [ebp - 0x34]
mov ecx, 0x3e38
push ebx
push eax
call fcn.10011d7b
add esp, 0x14
push 3
pop esi
mov dword [ebp - 0x20], esi
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x18]
sub ecx, eax
xor eax, eax
test ecx, ecx
setle al
cmp eax, 5
jl 0x1001133f
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x18]
neg ecx
sbb ecx, ecx
inc ecx
sub ecx, eax
je 0x10011354
cmp dword [ebp - 0x4c], 0
jne 0x10011356
xor ebx, ebx
mov eax, dword [ebp - 0x4c]
xor ecx, ecx
cmp ebx, eax
setne cl
cmp ecx, 0xe467b47e
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
mov eax, dword [ebp - 0x4c]
setne dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x4c]
setne cl
xor ebx, ebx
cmp ecx, 0x47825498
mov ecx, dword [ebp - 0x48]
setg bl
xor edx, edx
cmp ebx, eax
mov eax, dword [ebp - 0xac]
setne dl
xor ebx, ebx
imul ecx, edx
mov dl, 1
push ebx
push 0x80c
push 0x28a
mov dword [eax + 0xc], ecx
lea eax, [ebp - 0x9c]
push eax
push 0x3117
mov cl, dl
call fcn.10011d24
add esp, 0x14
mov byte [ebp - 4], bl
lea ecx, [ebp - 0xac]
call fcn.1000643c
push ecx
lea eax, [ebp - 0x70]
mov edx, 0x4819
push eax
lea eax, [ebp - 0xdc]
push eax
push 1
call fcn.10010f00
mov eax, dword [0x10444170]
add esp, 0x10
test al, 1
jne 0x1001141e
or eax, 1
mov dword [0x10444170], eax
push 0x81eb
mov byte [ebp - 4], 2
call fcn.10039396
pop ecx
mov word [0x10442ddc], ax
mov byte [ebp - 4], bl
mov dword [ebp - 0x20], 0xfffc
mov dword [ebp - 0x14], 5
mov dword [ebp - 0x24], 0x935ff574
push 3
mov dword [ebp - 0x18], 0x7e91c178
mov dword [ebp - 0x18], ebx
pop ecx
jmp 0x10011450
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x60], 0x64a6847d
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x10011442
mov dword [ebp - 0x60], 0xffffffea
jmp 0x1001149a
mov dword [ebp - 0x1c], 1
mov dword [ebp - 0x18], ebx
jmp 0x10011477
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xf0], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1001146a
mov dword [ebp - 0x1c], ebx
jmp 0x10011492
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xf0], 0xa5043c4a
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10011481
inc dword [ebp - 0x60]
cmp dword [ebp - 0x60], 9
jle 0x1001145e
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 0x20]
dec dword [ebp - 0x20]
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x60]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x14], eax
mov eax, dword [0x10444170]
test al, 2
jne 0x10011510
or eax, 2
mov dword [0x10444170], eax
push 0x48fc
mov byte [ebp - 4], cl
call fcn.10039396
pop ecx
push 3
mov word [0x10444168], ax
mov byte [ebp - 4], bl
pop ecx
push ecx
lea ecx, [ebp - 0xc4]
call fcn.100063b9
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xb8]
xor eax, eax
mov dword [ebp - 0x90], 0x978f3c34
inc eax
mov dword [ebp - 0x80], eax
mov dword [ebp - 0xa0], 0xfffffffd
mov dword [ebp - 0x88], 0xec0d
mov dword [ebp - 0x84], 0xfffffff9
push eax
call fcn.100063b9
push 1
push ecx
lea eax, [ebp - 0xc4]
mov byte [ebp - 4], 5
push eax
lea eax, [ebp - 0x8c]
mov edx, 0x37db
push eax
call fcn.10011027
add esp, 0x10
lea eax, [ebp - 0xb8]
push eax
sub esp, 0xc
lea eax, [ebp - 0x8c]
push eax
push ecx
call fcn.10011dba
add esp, 0x18
mov byte [ebp - 0x2e], bl
mov dl, 1
push 0x27e8
push ecx
push 0x1a7a
push ecx
push 0x46b1
lea ecx, [ebp - 0x2e]
call fcn.10010eb8
add esp, 0x14
lea eax, [ebp - 0xb8]
lea edx, [ebp - 0xc4]
push eax
lea eax, [ebp - 0xa0]
push eax
push ecx
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0x88]
call fcn.1001221c
add esp, 0x18
lea ecx, [ebp - 0xb8]
call fcn.1000643c
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], bl
call fcn.1000643c
push 3
mov eax, ebx
pop esi
mov ecx, dword [ebp - 0x98]
mov dword [ebp - 0x2c], eax
cmp eax, dword [ecx]
jae 0x10011a65
mov dword [ebp - 0x20], 0x6ab1
cmp dword [ebp - 0x20], 0x6ccf
jle 0x1001171c
mov esi, ebx
mov dword [ebp - 0x28], 0x16cb
cmp dword [ebp - 0x28], 0x12d8
jge 0x100116cd
lea eax, [ebp - 0x3c]
push eax
push 0x100608d8
call fcn.1003fcfb
pop ecx
jmp 0x100116c1
dec eax
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x44]
push eax
push 0x100608d8
call fcn.1003fcfb
mov eax, dword [ebp - 0x44]
pop ecx
pop ecx
cmp eax, 1
jl 0x10011680
push 0x10060e18
call fcn.1004027d
mov eax, dword [ebp - 0x44]
pop ecx
cmp eax, 2
jl 0x100116b7
push 0x10060e1c
call fcn.1004027d
mov eax, dword [ebp - 0x44]
pop ecx
cmp eax, 2
jle 0x100116b7
push 2
pop edi
push 0xa
pop ecx
lea eax, [edi + 7]
cdq
idiv ecx
push edx
push 0x100608d8
call fcn.1004027d
inc edi
pop ecx
pop ecx
cmp edi, dword [ebp - 0x44]
jl 0x1001169b
push 0x1005f939
call fcn.10040496
mov eax, dword [ebp - 0x3c]
pop ecx
test eax, eax
jne 0x10011656
dec eax
mov dword [ebp - 0x3c], eax
mov edi, ebx
mov eax, esi
lea ecx, [ebp - 0x108]
cdq
idiv edi
mov eax, edx
cdq
push edx
push eax
call fcn.10001a99
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100116ee
mov eax, dword [eax]
push eax
call fcn.1004027d
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x108]
call fcn.10006cfe
inc edi
cmp edi, 0x5200
jl 0x100116cf
inc esi
cmp esi, 0x3cad
jl 0x10011631
push 3
pop esi
mov dword [ebp - 0x14], esi
cmp dword [ebp - 0x20], 0x6a56
jge 0x10011733
push str.mcrn_vlrfp_txnozx_saq_ikyuk_nqxajeyez_ubvksc_bffmrufo_anktdgo
call fcn.1004027d
pop ecx
mov dword [ebp - 4], ebx
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0x1c], 0x4dbb
mov dword [ebp - 0x20], 0xc70ab227
mov dword [ebp - 0x18], ebx
push 4
call fcn.100063b9
mov byte [ebp - 4], 8
mov dword [ebp - 0x24], 0xfffffff9
mov dword [ebp - 0x28], 0x856cd833
mov dword [ebp - 0x28], 0xdd484073
mov dword [ebp - 0x28], 0x3832
cmp dword [ebp - 0x28], 0x3b07
jle 0x100117eb
mov esi, ebx
mov dword [ebp - 0x24], ebx
mov edi, ebx
mov dword [ebp - 0x18], ebx
mov eax, esi
mov dword [ebp - 0x40], ebx
cdq
mov esi, ebx
idiv edi
mov edi, edx
mov eax, esi
lea ecx, [ebp - 0x120]
or eax, edi
cdq
push edx
push eax
call fcn.10001a99
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100117ac
mov eax, dword [eax]
push eax
call fcn.1004027d
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x120]
call fcn.10006cfe
inc esi
cmp esi, 0x56c2
jl 0x10011790
mov edi, dword [ebp - 0x18]
mov esi, dword [ebp - 0x24]
inc edi
mov dword [ebp - 0x18], edi
cmp edi, 0x595b
jl 0x10011784
inc esi
mov dword [ebp - 0x24], esi
cmp esi, 0x1d4a
jl 0x1001177f
push 3
pop esi
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x28], 0x378e
jge 0x10011802
push str.jkwjsot_pvun_ciocri
call fcn.1004027d
pop ecx
mov dword [ebp - 4], 8
mov dword [ebp - 0x38], ebx
jmp 0x1001181c
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x50], 6
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 1
jl 0x1001180e
mov dword [ebp - 0x28], 0x1183
cmp dword [ebp - 0x28], 0x14fe
jle 0x1001186f
push ebx
push ebx
push 0x233c
push 0x1645
push ebx
call dword [sym.imp.USER32.dll_InsertMenuW]
mov edi, ebx
mov esi, ebx
mov eax, esi
mov ecx, 0x10071338
and eax, edi
cdq
push edx
push eax
call fcn.100060aa
inc esi
cmp esi, 0x16c0
jl 0x10011849
inc edi
cmp edi, 0x614c
jl 0x10011847
push 3
pop esi
push 0x392d
lea eax, [ebp - 0x7c]
mov ecx, 0x6cb3
push eax
push 0x2381
push 0x7d52
push 1
push ebx
lea edx, [ebp - 0x38]
call fcn.10011256
add esp, 0x18
mov byte [ebp - 4], 0xb
cmp dword [ebp - 0x28], 0x1014
jge 0x100118d8
mov edx, str.bhstmux_cbtohzgd_xbejg_mxqwndo_izzmjjj_gjqng
mov ecx, 0x10071338
call fcn.1000aac1
jmp 0x100118d8
mov dword [ebp - 4], 8
dec dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x18]
sub ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x7c]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [eax + 4], ecx
xor ecx, ecx
mov dword [ebp - 0x24], 0x7457
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x24]
cmp eax, dword [edx + 4]
setge cl
mov dword [ebp - 0x28], ecx
cmp dword [ebp - 0x28], ebx
jne 0x10011925
cmp dword [ebp - 0x24], ebx
jne 0x10011925
mov edx, ebx
jmp 0x10011928
xor edx, edx
inc edx
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp edx, eax
sete cl
xor edx, edx
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
setle dl
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setle cl
xor edx, edx
imul ecx, dword [ebp - 0x14]
imul ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp ecx, 0x7fc0
setg dl
xor ecx, ecx
add edx, 0xae3d
cmp edx, eax
setg cl
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x1c], ebx
jmp 0x10011a09
xor edx, edx
mov dword [ebp - 0x14], ebx
inc edx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x18], esi
cmp dword [ebp - 0x18], ebx
jl 0x10011a01
mov dword [ebp - 0x50], 0xffffffff
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x7c]
cmp dword [eax + ecx*4], 0xffffffff
jl 0x100119bc
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x7c]
cmp dword [eax + ecx*4], ebx
mov eax, ebx
je 0x100119be
mov eax, edx
cmp eax, dword [ebp - 0x20]
jle 0x100119c6
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
push 0xfffffffffffffffa
pop ecx
sub ecx, eax
add ecx, dword [ebp - 0x14]
mov dword [ebp - 0x28], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x28]
cmp eax, 0xfffffff7
setne cl
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x14], ebx
jmp 0x100119f7
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x50], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x100119ed
dec dword [ebp - 0x18]
jns 0x10011993
call fcn.10011f53
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jle 0x10011982
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], bl
call fcn.1000643c
call fcn.10010e80
push 0x34
xor edx, edx
pop ecx
div ecx
mov edi, edx
call fcn.10011e4b
push 0x1a
pop ecx
cmp edi, ecx
jge 0x10011a42
movzx edx, word [0x10442ddc]
add edx, edi
jmp 0x10011a50
mov eax, edi
cdq
idiv ecx
movzx eax, word [0x10444168]
add edx, eax
push edx
lea ecx, [ebp - 0xdc]
call fcn.10013550
mov eax, dword [ebp - 0x2c]
inc eax
jmp 0x1001160a
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x2c], 0x9e22401d
mov dword [ebp - 0x54], 0x2a284868
mov dword [ebp - 0x18], ebx
jmp 0x10011a8d
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x6c], 0xfffffffc
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10011a7f
mov dword [ebp - 0x1c], 2
cmp dword [ebp - 0x1c], ebx
jl 0x10011bae
mov dword [ebp - 0x2c], 0xfffffffa
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x40], 0xff57440e
mov dword [ebp - 0x14], ebx
jmp 0x10011ac9
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x94], 0xfffffff7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jl 0x10011ab8
mov dword [ebp - 0x14], ebx
jmp 0x10011ae5
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xe4], 4
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10011ad4
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp dword [ebp + eax*4 - 0x6c], ebx
je 0x10011b4a
mov ecx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x64]
neg ecx
sbb ecx, ecx
xor ebx, ebx
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
sete bl
xor ecx, ecx
mov edx, dword [ebp + eax*4 - 0x6c]
mov eax, dword [ebp - 0x1c]
cmp ebx, eax
setge cl
xor ebx, ebx
cmp ecx, edx
jne 0x10011b2f
mov eax, dword [ebp - 0x1c]
cmp dword [ebp + eax*4 - 0x6c], ebx
je 0x10011b2f
xor eax, eax
inc eax
jmp 0x10011b31
mov eax, ebx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x6c]
add eax, dword [ebp - 0x2c]
cmp eax, 1
je 0x10011b4a
xor ecx, ecx
inc ecx
jmp 0x10011b4c
mov ecx, ebx
mov eax, dword [ebp - 0x54]
add eax, ecx
xor ecx, ecx
cmp eax, 0xf860
mov eax, dword [ebp - 0x1c]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setne dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x6c]
cmp edx, eax
setl cl
mov dword [ebp - 0x94], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x6c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x6c]
cmp eax, 0xfa025ec5
mov eax, dword [ebp - 0x1c]
sete cl
sub ecx, eax
mov dword [ebp - 0xe0], ecx
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x40], eax
dec dword [ebp - 0x1c]
jns 0x10011aa2
lea eax, [ebp - 0x2d]
mov byte [ebp - 0x2d], bl
push eax
push ecx
push ecx
push 1
push ecx
mov edx, 0x4625
call fcn.10010f3d
mov edi, dword [ebp + 0x1c]
lea eax, [ebp - 0xdc]
add esp, 0x14
cmp edi, eax
je 0x10011bdf
push 0xffffffffffffffff
push ebx
push eax
mov ecx, edi
call fcn.10006f4e
push ebx
push 1
lea ecx, [ebp - 0xdc]
call fcn.10007153
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [ebp - 0x2c], 0x187e
cmp dword [ebp - 0x2c], 0x1c47
jle 0x10011c3d
xor edi, edi
xor ebx, ebx
mov ecx, ebx
mov eax, edi
shl eax, cl
mov ecx, 0x10071338
cdq
push edx
push eax
call fcn.100060aa
inc ebx
cmp ebx, 0x31db
jl 0x10011c12
inc edi
cmp edi, 0x5cf0
jl 0x10011c10
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [esi], 0
cmp dword [esi], 4
jge 0x10011c5d
mov edx, dword [ebp + 0x18]
mov ecx, dword [esi]
mov eax, dword [edx]
mov dword [eax + ecx*4], 2
inc dword [esi]
cmp dword [esi], 4
jl 0x10011c4b
mov dword [ebp - 4], 0xd
cmp dword [ebp - 0x2c], 0x1820
jge 0x10011bed
mov edx, str.dcsack_cacvy_iehanabdz_gjs_ahtxv
mov ecx, 0x10071338
call fcn.1000aac1
jmp 0x10011bed