Function at 0x4110a1
Capabilities:
Check os version
Encode data using base64

Disassembly:
pop dword [esp - 4]
mov eax, dword [0x579db1]
test eax, eax
jb 0x440f03
xchg dl, dh
xchg dh, dl
jne 0x44224b
je 0x4110c1
fadd st(0), st(0)
std
call fcn.00429207
test eax, eax
jb 0x4280e1
xchg bx, di
xchg di, bx
jne 0x44224b
je 0x4110df
js 0x411123
adc eax, 0x89665e5f
rcr byte [ebx + 0x5d], 0xc3
ret 0xf1d
pop edi
pop esi
mov ax, ax
pop ebx
pop ebp
ret
sbb esi, dword [esi]
inc ebx
add byte [eax], al
popal
add byte [eax + 0x38], 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
xor byte [eax], al
add byte [eax], al
cwde
mov dh, 0x43
add byte [esi + 0x50], ah
inc ebx
add byte [eax], dh
add byte [eax], al
add byte [eax + eax], dh
add byte [eax], al
movsb byte es:[edi], byte [esi]
push cs
inc edx
add byte [eax], ah
add byte [eax], al
add byte [eax], dh
add byte [eax], al
add byte [esi + ecx + 0xc0042], ah
add byte [eax], al
xor al, 0
add byte [eax], al
invalid
mov eax, dword [ebp + 8]
ja 0x445a67
jbe 0x43f32b
and cl, 0xf
xchg byte [esi], dh
add byte [bx + si], al
jbe 0x445a67
shr ch, 0x40
mov byte [esi + 0xba], cl
shl bp, 0x20
xchg esi, ebp
mov edx, edx
xchg ebp, esi
shl cx, 0x20
mov eax, dword [ebp - 4]
shr al, 0x40
mov byte [esi + 0xbb], 0
xchg ah, dl
mov bp, bp
xchg dl, ah
jmp 0x43f35d
push eax
shl edx, 0x20
jmp 0x43f363
push esi
call 0x431171
add eax, 0x41fa7174
add byte [eax + 0x30000003], bh
add byte [eax], al
add byte [ebp - 0x72], bl
inc ecx
add byte [eax], cl
add byte [eax], al
xor esi, dword [0x3c0041]
add byte [eax], al
xor byte [eax], al
add byte [eax], al
xor esi, dword [0x300041]
add byte [eax], al
cmp al, 0
add byte [eax], al
sbb esi, dword [esi]
inc ebx
add byte [eax], al
inc eax
add byte [eax], al
xor byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ecx], ah
cmp byte [eax], 0
add byte [eax], al
add byte [ecx], ah
add byte [eax], al
add al, 0
add byte [eax], al
cwde
mov dh, 0x43
add bl, ah
test byte [edx], al
or al, 0
add byte [eax], al
xor byte [eax], al
add byte [eax], al
push ax
inc ebx
add byte [eax], cl
add byte [eax], al
dec eax
add byte [eax], al
add byte [edi - 0x6c], ah
inc ecx
add byte [eax], ah
add byte [eax], al
add byte [eax], bh
add byte [eax], al
add byte [ebp - 0x72], bl
inc ecx
add byte [eax + eax], al
add byte [ecx + edx*8 - 0x12ecffbf], dh
add eax, 0xff5e8d57
cmp eax, ebx
jae 0x440f33
jb 0x440f16
clc
imul edx, ebx, 0x387c804a
add dword [edx], ecx
cmp byte [eax + edi + 1], 0xa
shl bp, 0x20
jne 0x440f33
je 0x440f2b
cpuid
nop
ret
inc edx
jmp 0x427d69
mov byte [ecx], 0xa
lea edx, [edx]
inc ecx
js 0x427d69
jns 0x440f44
int 0x33
test byte [edi], 0x89
pop ds
outsb dx, byte [esi]
invalid
jns 0x427d69
sub edi, ebx
push eax
push ecx
push edi
push edx
call fcn.004218e1
add esp, 0x14
test ax, ax
jb 0x418461
shl edi, 0x20
je 0x43f31e
jne 0x440f73
dec eax
push ebx
push eax
xchg ebx, ecx
xchg ecx, ebx
mov di, di
mov eax, dword [esi]
push eax
call fcn.0042cb65
add bx, 0
add esp, 8
xchg ebx, edi
xchg edi, ebx
pop edi
pop esi
pop ebx
call fcn.0043f311
mov word [esi + 0xbc], dx
call fcn.004442f2
sbb esi, dword [esi]
inc ebx
add byte [eax], al
inc ecx
add byte [eax + 0x40], al
add byte [ecx], al
add byte [eax], al
add al, 0
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax], al
out dx, eax
inc ecx
add byte [ebx - 0x5bffbc20], ah
push cs
inc edx
add byte [0x30000000], al
add byte [eax], al
add byte [0x300042e5], bh
add byte [eax], al
add byte [eax + eax], dh
add byte [eax], al
inc esp
loope 0x44102a
add byte [ecx - 0x72], ah
inc esp
add byte [ebx + edx*8], al
inc ecx
add byte [edi + 0xa00432d], bl
pop es
inc ebx
add byte [eax], al
adc byte [eax + eax - 0x74], al
aad 0xa
pop es
inc ebx
add byte [edi - 0x7dffbcd3], bl
pop es
mov eax, dword [esi + 4]
mov ebx, dword [esi + 8]
mov dx, dx
lea esi, [esi + 0xc]
sub word [ebx], ax
jmp dword [esi]
xor byte [ecx], dl
invalid
and edx, edx
test eax, eax
jb 0x418471
jne 0x41ba99
je 0x445a7c
dec eax
mov byte [edi - 0x18], dh
push es
pushal
std
inc dword [0x418ecb47]
call 0x41ba87
add eax, 0x418ecb47
add byte [eax], al
add byte [eax], al
cmp byte [eax], al
add byte [eax], al
lahf
inc edx
add byte [eax + eax], al
add dh, bh
pop ecx
inc ebx
add byte [eax], cl
add byte [eax], al
inc esp
add byte [eax], al
add dh, bh
pop ecx
inc ebx
add byte [eax + eax], al
add byte [eax], cl
add byte [eax], al
push ax
inc ebx
add byte [eax + eax], cl
add byte [eax + eax], cl
add byte [esi + 0x50], ah
inc ebx
add byte [eax], al
add byte [eax], al
inc esp
add byte [eax], al
add ch, dl
inc eax
inc ebx
add byte [eax], cl
add byte [eax], al
add byte [eax + eax], dh
add byte [eax], al
sbb esi, dword [esi]
inc ebx
add byte [eax], al
popal
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, 0x48
inc ecx
add byte [ecx - 0x39], ch
inc edx
add byte [ecx], al
add byte [eax], al
add byte [eax], dh
add byte [eax], al
add byte [edi - 0x6c], ah
inc ecx
add byte [eax], ah
add byte [eax], al
add byte [eax], dh
add byte [eax], al
add byte [esi], al
rol dword [ecx], cl
sub cl, byte [edx + 0x41]
add byte [eax - 0x69], ah
inc ebx
add byte [eax], al
add byte [eax], al
cmp al, 0
add byte [eax], al
invalid