Function at 0x413a25
Capabilities:
Check os version

Disassembly:
mov dx, dx
jbe 0x408616
ja 0x40505c
inc esi
mov esi, 0xfd28875
xchg dword [edi + 0x4b], eax
add byte [eax], al
mov dl, dl
ja 0x409bab
jbe 0x40506a
into
ret
jbe 0x409bab
add eax, 0x8b979716
push ebp
cmp byte [edi], cl
adc dword [ecx + 0xf], 0x2700003
clc
mov al, byte [0xf47800f]
add eax, dword [eax]
invalid
call fcn.0042b67f
xor eax, 0x8768d61
mov dh, dh
push esi
mov esi, dword [esi - 4]
mov dx, dx
js 0x418825
jns 0x405c3f
add dword [ebp + 0x2be0890f], esp
add dword [eax], eax
jns 0x418825
xor al, 0x8f
jmp dword [esi]
mov esi, dword [esi + 4]
xchg bh, al
xchg al, bh
mov esi, dword [ebp + esi]
jmp dword [esi]
lea esi, [esi + 8]
jmp 0x40860f
shr eax, 0x40
mov ecx, 0x2020202
jno 0x40fa78
jo 0x40c42d
sbb eax, dword [ebp + 0x3645800f]
add byte [eax], al
jo 0x40fa78
add byte [ebp + 0xf40eac0], 0x81
je 0x40c48c
add al, byte [eax]
jo 0x40c444
inc ebx
pushfd
xchg esp, eax
mov edx, 0x5068800f
add al, byte [eax]
jo 0x4314b2
jne 0x40504e
je 0x40c455
jno 0x40c47e
cwde
je 0x40504e
invalid
cld
ret
test dword [eax - 0x2a], ebx
add byte [eax], al
shr edx, 0x40
mov esi, dword [esi + 4]
mov esi, dword [ebp + esi]
js 0x412fd3
jns 0x40eb45
cmp eax, 0xfc0a7d7
mov dword [eax - 0x7dffffbc], ecx
mov al, byte [0xffeba7e9]
jmp fcn.0040d6f9
inc ecx
dec edx
jns 0x412fd3
and byte [eax - 0x145817], 0xff
inc ecx
dec edx
test al, al
jb 0x4351b6
shl bx, 0x20
shl ebx, 0x20
jne 0x40c41b
shl edx, 0x20
je 0x40eb70
mov bl, 0x35
jne 0x4294aa
je 0x40eb7a
adc ah, ah
je 0x4294aa
add eax, 0x3415ffbe
rol byte [ebp], 0xeb
push esi
mov dword [0x46ac09], eax
call fcn.004185c2
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp + 0x20]
add esp, 4
mov eax, dword [0x46ac09]
jmp 0x40eba7
push ecx
push edx
push ebx
push esi
push ebx
push esi
push 0x9c402458
push eax
call dword [0x46b308]
push esi
mov ebx, eax
jne 0x41d871
je 0x40ebce
xchg dword [edx], esp
invalid
je 0x41d871
invalid
jno 0x43e736
jo 0x40fa82
fidivr dword [edi + ecx + 0x2ecae80]
add byte [0xfff31bb], ah
xor edi, edi
invalid
jo 0x43e736
and eax, 0xfff31bb
or dl, 0xd6
invalid
mov eax, 1
pop esi
pop ebp
ret
push eax
jmp 0x410f1a
push esi
call fcn.00410f30
add esp, 8
pop esi
pop ebp
shr cx, 0x40
ret
mov esi, dword [esi]
shr ax, 0x40
jmp dword [esi]
push ebp
mov cx, cx
mov ebp, esp
mov eax, dword [ebp + 8]
and eax, 0xff
jb 0x428aa1
add eax, 0xffffffd8
cmp eax, 0xc2
lea edi, [edi]
ja 0x413a7b
jbe 0x413a51
nop
cpuid
ret
xor ecx, ecx
jb 0x4355b8
shr ecx, 0x40
mov cl, byte [eax + 0x444324]
jmp dword [ecx*4 + 0x44431c]
xor eax, eax
jb 0x4355d1
pop ebp
jne 0x4156d7
mov dx, dx
je 0x413a93
cpuid
ret
je 0x4156d7
add eax, 0x83df5f4
add byte [eax], al
add byte [esi - 0x3f], ah
out 0x20, al
fcmovb st(0), st(1)
rol word [edx], 1
xor byte [eax], al
add byte [eax], al
xor byte [eax], al
add byte [eax], al
lahf
cmpsd dword [esi], dword es:[edi]
inc ecx
add byte [eax + eax], al
add byte [esi - 0x2f], ah
inc edx
add byte [eax], al
add byte [eax], al
inc esp
add byte [eax], al
add byte [edx + eax*2 + 0x400041], bl
add byte [eax], al
cmp byte [eax], al
add byte [eax], al
aad 0xc1
inc edx
add byte [eax], cl
add byte [eax], al
add byte [eax + eax], dh
add byte [eax], al
sbb esi, dword [edi + 0x61000042]
add byte [eax + 0x34], al
add byte [ecx], ah
add byte [eax], al
mov edx, 0
adc al, byte [eax]
add byte [eax], al
inc edx
add byte [eax], al
xor byte [eax], al
add byte [eax], al
xor al, 0xc9
inc eax
add byte [ecx + 0x48], ch
inc edx
add byte [ecx], al
add byte [eax], al
add byte [eax], dh
add byte [eax], al
add byte [esi], al
push esp
inc ecx
add byte [eax + ebp*8 - 0x6ebbffbf], al
inc ebx
add byte [eax + eax], dh
add byte [eax], al
xor al, 0
add byte [eax], al
or cl, byte [eax + 0x4c9d0042]
inc ecx
add byte [esp + ebp*2 + 0x38], ch
sbb esi, dword [edi + 0x61000042]
add byte [eax + 0x34], al
add byte [ecx], ah
add byte [eax], al
mov esp, 0
adc byte [eax], al
add byte [eax], al
inc eax
add byte [eax], al
cmp byte [eax], al
add byte [eax], al
cwde
aaa
inc ebx
add byte [ebx], bl
mov bh, 0x42
add byte [eax], al
popal
add byte [eax + 0x34], al
add byte [ecx], ah
add byte [eax], al
mov esp, 0
adc al, byte [eax]
add byte [eax], al
inc edx
add byte [eax], al
xor byte [eax], al
add byte [eax], al
xor al, 0xc9
inc eax
add byte [eax + 0x18], ah
inc ebx
add byte [0x38000000], al
add byte [eax], al
add byte [edi], al
xchg edx, eax
inc ebx
add byte [ebx], cl
add byte [eax], al
add byte [eax], dh
add byte [eax], al
add byte [edx + edx*2 + 0x40], bl
add byte [eax], dh
add byte [eax], al
add byte [eax], bh
add byte [eax], al
add byte [edx + 0x41], al
add byte [edi - 0x29], cl
inc ecx
add byte [ebx], bl
mov bh, 0x42
add byte [eax], al
popal
add byte [eax + 0x34], al
add byte [ecx], ah
add byte [eax], al
inc byte [eax]
add byte [eax], al
add byte [edx], dl
add byte [eax], al
add byte [edx], al
add byte [eax], dh
add byte [eax], al
add byte [ecx + ecx*8], dh
inc eax
add bl, ch
insd dword es:[edi], dx
inc eax
add byte [ebp], dl
add byte [eax], al
cmp byte [eax], al
add byte [eax], al
inc esp
bound eax, qword [ecx]
sbb esi, ecx
inc edx
add bh, ah
xor byte [edx], al
cmp byte [eax], al
add byte [eax], al
xor byte [eax], al
add byte [eax], al
jmp 0x414dc4
push 0x42abc9
ret
ret
mov eax, dword [0xff89664a]
mov ecx, dword [esi + 4]
lea ecx, [ecx]
mov ebx, dword [esi + 8]
lea esi, [esi + 0xc]
sar word [ebx], cl
xchg al, dl
xchg dl, al
jmp dword [esi]
add edi, edx
mov ecx, dword [esi + 4]
mov ebx, dword [esi + 8]
lea esi, [esi + 0xc]
shr bl, 0x40
mov ah, ah
sar dword [ebx], cl
mov cl, cl
js 0x422d83
jns 0x41634e
jecxz 0x41635e
jns 0x422d83
mov dword [edi], ebp
retf 0
add eax, 0x42abd589
add ch, bl
pop esi
add byte [eax], al
xor byte [eax], al
add byte [eax], al
adc al, 0xc2
inc eax
add byte [eax], al
add byte [eax], al
add byte [eax + eax], al
add byte [ebx], dl
lds eax, [edx]
invalid
jnp 0x416546
jo 0x405c21
and eax, 0xc768dd2
shl dword [ebx], cl
js 0x439203
jns 0x416591
cpuid
ret
jns 0x439203
fimul dword [esi - 0x15]
push esi
shr dh, 0x40
call fcn.00422149
add esp, 8
cmp di, di
test eax, eax
jb 0x4230cc
jne 0x4165dc
je 0x4165c0
push 0x458bbf64
or al, 0x89
neg byte [esi + 0x66]
mov dword [eax], 0xc766fffd
inc eax
add al, byte [eax]
cmp byte [eax + 1], 0x5d
mov eax, dword [ebp + 0xc]
mov esi, esi
pop esi
mov word [eax], 0xfffd
mov word [eax + 2], 0x8000
mov eax, 1
pop ebp
ret
push 0x46b4b1
mov si, si
push esi
call fcn.00422149
add esp, 8
test eax, eax
jb 0x4230e5
mov eax, dword [ebp + 0xc]
jne 0x410f17
je 0x416606
adc dh, byte [ebx]
mov word [eax], 0
mov word [eax + 2], pe_nt_image_headers32
jmp 0x410f0d
mul word [ebx + edi]
mov dword [ebp + 0x30], eax
mov dword [ebp + 0x38], edx
jmp dword [esi]
mov dword [ebp + 0x40], esp
mov esi, dword [ebp + esi]
ja 0x43f71b
jbe 0x418838
outsd dx, dword [esi]
cmp eax, 0x860f476c
invalid
jbe 0x43f71b
jne 0x423ea1
je 0x4191d2
pop eax
pop ebx
je 0x423ea1
add eax, 0xcc48162
add byte [eax], al
add byte [ecx], dh
ror byte [edi], 0x82
jmp 0x67419139
mov dword [esi + 0x28], ecx
shr ebp, 0x40
call fcn.0040d6f5
fdivr st(4)
call fcn.0041af74
add esp, 4
test ebx, ebx
jb 0x416576
jmp 0x424d31
mov byte [ebp + ebx], al
jmp dword [esi]
jmp dword [esi]
test byte [eax - 0x78], dl
ror byte [ebx + 0x5e8b0446], 8
push edi
pop edi
mov eax, dword [ebp + eax]
lea esi, [esi + 0xc]
sub dword [ebx], eax
mov al, al
jmp dword [esi]
or dl, 0xc0
jmp 0x488bc2d
mov eax, ecx
and eax, 0xffff
jb 0x4092d5
jmp 0x43773a
shr edx, 0x40
jne 0x42acd8
je 0x424d3f
and eax, esp
fimul dword [eax - 0x900140a]
mov dh, dh
jmp 0x424d42
push esi
call dword [sym.imp.KERNEL32.dll_LocalFree]
pop edi
pop esi
xor eax, eax
jb 0x41657e
pop ebx
xchg ebx, eax
xchg ebx, eax
push 0x42acd4
ret
jmp 0x427bf4
push eax
mov dword [ebp - 0xb0], 0x42
mov dword [ebp - 0xa8], edi
mov dword [ebp - 0x120], 0x41
mov dword [ebp - 0x11c], ecx
mov dword [ebp - 0x118], edx
call fcn.0044fe70
mov ecx, dword [ebp - 8]
or esi, esi
jae 0x427c2b
test eax, 0x830ff32f
loope 0x427c93
jae 0x42e112
add byte [eax], al
and eax, 0x1d850f42
cmpsb byte [esi], byte es:[edi]
add dword [eax], eax
je 0x427c3f
inc ebp
pop esp
xchg ebx, eax
xchg edx, eax
je 0x442256
invalid
invalid