Function at 0x40342a
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x15b0
call fcn.0044e310
push ebx
push 0x48344c
push dword [ebp + 0x10]
xor ebx, ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], ebx
call fcn.0044e2f0
cmp eax, ebx
pop ecx
pop ecx
mov dword [ebp - 0xc], eax
jne 0x40345d
xor al, al
jmp 0x40374f
push esi
push 0x483448
push dword [ebp + 0xc]
call fcn.0044e2f0
mov esi, eax
cmp esi, ebx
pop ecx
pop ecx
jne 0x403483
push dword [ebp - 0xc]
call fcn.0044e243
pop ecx
xor al, al
jmp 0x40374e
push edi
mov edi, dword [ebp + 8]
cmp edi, ebx
jne 0x4034ad
push 2
push 0xfffffffffffffff0
push esi
mov byte [ebp - 0x44], 0
call fcn.0044e1ae
push esi
push 0x10
lea eax, [ebp - 0x54]
push 1
push eax
call fcn.0044e0d3
add esp, 0x1c
lea edi, [ebp - 0x54]
push edi
call fcn.0044d870
push eax
lea eax, [ebp - 0x15b0]
push edi
push eax
call fcn.00403357
push dword [esi + 0x10]
call fcn.0044dca4
add esp, 0x14
push 0x48342c
mov dword [ebp - 4], eax
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], ebx
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov edi, eax
lea eax, [ebp - 0x168]
push eax
mov dword [ebp - 0x168], 0x114
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [ebp - 0x164], 5
jae 0x403525
push 0x483420
push edi
mov dword [ebp - 8], ebx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea ecx, [ebp - 8]
push ecx
push dword [ebp - 4]
call eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x24], eax
jmp 0x40353a
push 0x483410
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea ecx, [ebp - 0x28]
push ecx
push dword [ebp - 4]
call eax
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov edi, eax
sub eax, 4
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x30]
mov ebx, ecx
push eax
sbb ecx, 0
push esi
mov dword [ebp - 0x2c], ecx
call fcn.0044db91
push esi
push 4
lea eax, [ebp - 0x38]
push 1
push eax
call fcn.0044e0d3
add esp, 0x18
cmp dword [ebp - 0x38], 0
jne 0x4035a3
lea eax, [ebp - 0x30]
sub edi, 0xc
push eax
sbb ebx, 0
push esi
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x2c], ebx
call fcn.0044db91
push esi
push 4
pop ebx
push ebx
lea eax, [ebp - 0x18]
push 2
push eax
call fcn.0044e0d3
add esp, 0x18
jmp 0x4035c1
push 2
push 0xfffffffffffffff8
push esi
call fcn.0044e1ae
push esi
push 4
lea eax, [ebp - 0x18]
push 1
push eax
call fcn.0044e0d3
add esp, 0x1c
push 4
pop ebx
push esi
call fcn.0044e243
mov dword [esp], 0x483448
push dword [ebp + 0xc]
call fcn.0044e2f0
test eax, eax
pop ecx
pop ecx
mov dword [ebp - 0x34], eax
jne 0x4035ee
push dword [ebp - 0xc]
call fcn.0044e243
xor al, al
jmp 0x40374c
xor edi, edi
xor esi, esi
push eax
jmp 0x403718
and dword [ebp - 4], 0
cmp dword [ebp - 8], 0
jbe 0x403708
lea eax, [ebp - 0x568]
mov dword [ebp - 0x10], eax
push ebx
push dword [ebp - 0x10]
lea eax, [ebp - 0x1c]
push eax
call fcn.0044c8e0
add dword [ebp - 0x10], ebx
add dword [ebp - 4], ebx
push ebx
push dword [ebp - 0x10]
lea eax, [ebp - 0x20]
push eax
call fcn.0044c8e0
add dword [ebp - 4], ebx
add dword [ebp - 0x10], ebx
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x15b0]
push eax
call fcn.00403308
mov ecx, dword [ebp - 0x14]
add esp, 0x24
cmp esi, ecx
ja 0x4036fc
mov eax, dword [ebp - 0x18]
jb 0x403664
cmp edi, eax
jae 0x4036fc
mov edx, eax
sub edx, edi
sbb ecx, esi
mov dword [ebp - 0x3c], ecx
jne 0x403673
cmp edx, ebx
jbe 0x403692
push dword [ebp - 0xc]
lea eax, [ebp - 0x1c]
push ebx
push 1
push eax
call fcn.0044db45
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
add esp, 0x10
add edi, ebx
adc esi, 0
jmp 0x4036b0
push dword [ebp - 0xc]
sub eax, edi
push eax
lea eax, [ebp - 0x1c]
push 1
push eax
call fcn.0044db45
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
add esp, 0x10
mov edi, ecx
mov esi, eax
cmp esi, eax
ja 0x4036fc
jb 0x4036ba
cmp edi, ecx
jae 0x4036fc
mov edx, ecx
sub edx, edi
sbb eax, esi
mov dword [ebp - 0x3c], eax
jne 0x4036c9
cmp edx, ebx
jbe 0x4036e2
push dword [ebp - 0xc]
lea eax, [ebp - 0x20]
push ebx
push 1
push eax
call fcn.0044db45
add esp, 0x10
add edi, ebx
adc esi, 0
jmp 0x4036fc
push dword [ebp - 0xc]
sub ecx, edi
push ecx
lea eax, [ebp - 0x20]
push 1
push eax
call fcn.0044db45
mov edi, dword [ebp - 0x18]
mov esi, dword [ebp - 0x14]
add esp, 0x10
mov eax, dword [ebp - 8]
cmp dword [ebp - 4], eax
jb 0x40360f
mov ecx, dword [ebp + 0x14]
mov eax, dword [ecx]
push 0
push dword [ebp - 8]
call dword [eax + 0x44]
push dword [ebp - 0x34]
push 0x400
lea eax, [ebp - 0x568]
push 1
push eax
call fcn.0044e0d3
add esp, 0x10
test eax, eax
mov dword [ebp - 8], eax
ja 0x4035f8
push dword [ebp - 0xc]
call fcn.0044e243
push dword [ebp - 0x34]
call fcn.0044e243
pop ecx
mov al, 1
pop ecx
pop edi
pop esi
pop ebx
leave
ret