Function at 0x43cd60
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffedc
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x11c], eax
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x43d041
push dword fs:[eax]
mov dword fs:[eax], esp
xor edx, edx
push ebp
push 0x43d011
push dword fs:[edx]
mov dword fs:[edx], esp
mov dl, 1
mov eax, dword [0x4397d4]
call fcn.0043a9d8
mov dword [0x44900c], eax
mov eax, 0x449008
xor edx, edx
call fcn.00406540
lea eax, [ebp - 0x118]
xor ecx, ecx
mov edx, 0x114
call fcn.00404584
mov dword [ebp - 0x118], 0x114
lea eax, [ebp - 0x118]
push eax
call sub.kernel32.dll_GetVersionExW
test eax, eax
je 0x43d007
cmp dword [ebp - 0x114], 6
jae 0x43ced6
mov edx, 0x80000000
mov eax, dword [0x44900c]
call fcn.0043aac0
mov edx, 0x43d05c
mov eax, dword [0x44900c]
call fcn.0043bf4c
test al, al
je 0x43d007
mov edx, 0x43d05c
xor ecx, ecx
mov eax, dword [0x44900c]
call fcn.0043ac08
test al, al
je 0x43d007
lea ecx, [ebp - 0x11c]
xor edx, edx
mov eax, dword [0x44900c]
call fcn.0043b638
mov eax, dword [ebp - 0x11c]
lea edx, [ebp - 4]
call fcn.0040e290
mov edx, dword [ebp - 4]
mov eax, 0x43d098
call fcn.00406e48
test eax, eax
jle 0x43d007
mov ecx, 2
mov edx, dword [ebp - 4]
mov eax, 0x43d0b0
call fcn.0040a5f0
mov ebx, eax
push 0x449008
mov ecx, ebx
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00406c5c
mov eax, dword [ebp - 4]
test eax, eax
je 0x43ceb2
mov edx, eax
sub edx, 0xa
cmp word [edx], 2
je 0x43ceb2
lea eax, [ebp - 4]
mov edx, dword [ebp - 4]
call fcn.00405f1c
mov esi, eax
test esi, esi
je 0x43cebd
sub esi, 4
mov esi, dword [esi]
push 0x449004
mov ecx, esi
sub ecx, ebx
lea edx, [ebx + 1]
mov eax, dword [ebp - 4]
call fcn.00406c5c
jmp 0x43d007
mov edx, 0x80000001
mov eax, dword [0x44900c]
call fcn.0043aac0
mov edx, 0x43d0c0
mov eax, dword [0x44900c]
call fcn.0043bf4c
test al, al
je 0x43d007
mov edx, 0x43d0c0
xor ecx, ecx
mov eax, dword [0x44900c]
call fcn.0043ac08
test al, al
je 0x43d007
lea ecx, [ebp - 4]
mov edx, 0x43d168
mov eax, dword [0x44900c]
call fcn.0043b638
mov eax, dword [0x44900c]
call fcn.0043aa90
mov edx, 0x80000000
mov eax, dword [0x44900c]
call fcn.0043aac0
lea eax, [ebp - 0x120]
mov ecx, 0x43d184
mov edx, dword [ebp - 4]
call fcn.004069f0
mov edx, dword [ebp - 0x120]
mov eax, dword [0x44900c]
call fcn.0043bf4c
test al, al
je 0x43d007
lea eax, [ebp - 0x124]
mov ecx, 0x43d184
mov edx, dword [ebp - 4]
call fcn.004069f0
mov edx, dword [ebp - 0x124]
xor ecx, ecx
mov eax, dword [0x44900c]
call fcn.0043ac08
test al, al
je 0x43d007
lea ecx, [ebp - 4]
xor edx, edx
mov eax, dword [0x44900c]
call fcn.0043b638
mov ecx, 2
mov edx, dword [ebp - 4]
mov eax, 0x43d0b0
call fcn.0040a5f0
mov ebx, eax
push 0x449008
mov ecx, ebx
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00406c5c
mov eax, dword [ebp - 4]
test eax, eax
je 0x43cfe8
mov edx, eax
sub edx, 0xa
cmp word [edx], 2
je 0x43cfe8
lea eax, [ebp - 4]
mov edx, dword [ebp - 4]
call fcn.00405f1c
mov esi, eax
test esi, esi
je 0x43cff3
sub esi, 4
mov esi, dword [esi]
push 0x449004
mov ecx, esi
sub ecx, ebx
lea edx, [ebx + 1]
mov eax, dword [ebp - 4]
call fcn.00406c5c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x43d01b
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x43d048
lea eax, [ebp - 0x124]
mov edx, 3
call fcn.00406538
lea eax, [ebp - 4]
call fcn.00406530
ret