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

Disassembly:
jno 0x4282c8
lea edx, [edx]
jo 0x43c507
and dword [ebx - 0x7ff01b83], ebx
mov ebx, 0x25fffebd
jno 0x43c576
jo 0x4282c8
and eax, 0xebc16671
inc eax
shr ebx, 0x40
call fcn.004332e1
jmp 0x44e001
ret
pop dword [esp - 4]
mov ebx, dword [ebp + 8]
xchg di, bx
xchg bx, di
lea ecx, [ebp - 0x100]
push ebx
xchg al, cl
xchg cl, al
shr dx, 0x40
push ecx
call fcn.0043c0a2
lea edx, [ebp - 0x100]
js 0x43666c
jns 0x43db73
sub eax, 0xf3890f0b
mov bh, bh
inc dword [0xd4850fdf]
jns 0x43666c
add eax, 0xd4850fdf
jo 0x43db80
add byte [ebx + eax + 0x35], dh
sahf
outsb dx, byte [esi]
je 0x444c55
fsubr st(5)
salc
enter 0x43, 0x30
add byte [eax], al
add byte [eax + eax], dh
add byte [eax], al
jg 0x43dbe0
inc esp
inc ecx
add byte [ebx - 0xffbc44], al
inc dword [eax]
add byte [eax + eax], dh
add byte [eax], al
mov ah, 0x59
inc edx
add byte [0x8b00429f], bl
scasb al, byte es:[edi]
inc ebx
add byte [eax], al
inc eax
add byte [eax], al
xor al, 0
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
dec edx
add byte [eax], al
add byte [eax], cl
das
inc esp
add byte [ecx], ah
inc byte [edx]
sbb ecx, dword [eax]
inc edx
add byte [edx - 0x17ffbb44], dh
inc esp
add al, ch
fild dword [ebx]
dec edi
jmp 0x43db9b
xlatb
add byte [edi], cl
sbb byte [0xc7ffffeb], 0xa5
jne 0x422cbe
invalid
je 0x43e5ba
cpuid
nop
ret
je 0x422cbe
js 0x42dcfd
jns 0x43e5cc
cpuid
nop
ret
jns 0x42dcfd
xor al, 0x24
setg byte [edx]
dec esp
add byte [eax], al
add ch, cl
push es
inc edx
add byte [eax + eax], cl
add cl, bl
aas
inc ebx
add byte [edx], al
add byte [eax], al
add byte [eax], dh
add byte [eax], al
add dh, dl
enter 0x43, 0x48
add byte [eax], al
add byte [eax], cl
add byte [eax], al
jbe 0x43e649
inc edx
add byte [ebx - 0x80], bh
inc esp
add byte [edx + 0x7f], bh
inc ebx
add byte [eax], dl
out 0x43, al
add byte [eax], bl
cpuid
ret
add byte [eax], al
add byte [ebx + 0x43ae], cl
popal
add byte [eax + 0x38], 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
movsb byte es:[edi], byte [esi]
rol byte [ecx], 0xd0
cmove eax, dword [eax]
add dword [eax], eax
add byte [eax], al
xor al, 0
add byte [eax], al
ja 0x43e607
inc esp
add byte [edi], cl
add byte [eax], al
add byte [eax], dh
add byte [eax], al
add ah, cl
dec ecx
inc ecx
add byte [eax], dh
add byte [eax], al
add byte [eax + eax], dh
add byte [eax], al
mov ah, 0x59
inc edx
add byte [ebp + 0x32], cl
inc ebx
add byte [edi], cl
lahf
inc edx
add byte [eax + eax], bh
add byte [eax], al
int 6
inc edx
add byte [eax + eax], bh
add byte [eax], al
xor ch, bh
inc edx
add byte [eax + eax], cl
add byte [eax], al
xor byte [eax], al
add byte [eax], al
cmp dl, dh
inc ecx
add byte [eax], dh
add byte [eax], al
add byte [eax + eax], bh
add byte [eax], al
pop es
xor al, 0x44
add byte [0x445e2fc7], ah
add byte [eax], al
add byte [ebx + 0x65], bl
inc ecx
add byte [edx], bl
add byte [eax], al
xor al, 0
add byte [eax], al
mov ah, 0x59
inc edx
add byte [edx - 0x6bffbb70], dl
mov ecx, 0x14e40043
inc ebp
add byte [0x39840f15], ah
invalid
mov byte [esi + 0xbb], al
mov ebp, ebp
mov word [esi + 0xbc], di
js 0x43c4f9
mov bp, bp
jns 0x441153
nop
cpuid
ret
jns 0x43c4f9
add eax, 0x24448f92
cld
shl edi, 0x20
ret
mov byte [esi + 0xba], bl
lea edi, [edi]
js 0x441135
jns 0x443bc4
sbb al, 0x60
jns 0x441135
ficom dword [edx - 0x62fb8d07]
xchg dword [ebx - 0x62], esi
jb 0x415177
ftst
pop ebx
inc esp
add byte [eax + eax], dh
add byte [eax], al
xor al, 0
add byte [eax], al
mov ah, 0x59
inc edx
add byte [edx - 0x74ffbc9a], dl
scasb al, byte es:[edi]
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 al, 0
add byte [eax], al
or byte [edi], ch
inc esp
add byte [edi + eax*4], dl
inc edx
add byte [eax], ah
add byte [eax], al
add byte [eax], cl
add byte [eax], al
salc
enter 0x43, 0x34
add byte [eax], al
add byte [eax], dh
add byte [eax], al
add byte [eax + ecx*4 + 0x440044], dh
add byte [eax], al
inc esp
add byte [eax], al
add byte [edi + eax*4], dl
inc edx
add byte [esi], cl
add byte [eax], al
add byte [eax], dh
add byte [eax], al
add byte [ebx + 0x310041ad], ah
add byte [eax], al
add byte [0xa3000000], bh
lodsd eax, dword [esi]
inc ecx
add byte [0x31000000], bh
add byte [eax], al
add al, dl
cmove eax, dword [eax]
add al, byte [eax]
add byte [eax], al
xor al, 0
add byte [eax], al
lodsd eax, dword [esi]
pop ebp
inc ebx
add byte [eax + eax], dh
add byte [eax], al
xor byte [eax], al
add byte [eax], al
mov ah, 0x59
inc edx
add byte [edx - 0x74ffbc9a], bl
scasb al, byte es:[edi]
inc ebx
add byte [eax], al
popal
add byte [eax + 0x38], al
add byte [ecx], ah
add byte [eax], al
cmp al, byte [eax]
add byte [eax], al
add byte [ecx], dl
add byte [eax], al
add byte [ecx], al
add byte [eax + eax], dh
add byte [eax], al
pop edi
imul eax, dword [edx], 0x17
outsd dx, dword [esi]
inc edx
add byte [ebx + 0x26], bl
inc esp
add byte [eax + eax], dh
add byte [eax], al
xor byte [eax], al
add byte [eax], al
mov ah, 0x59
inc edx
add al, bh
popfd
inc ebx
add byte [eax], dl
pop esp
inc edx
add ch, ah
fisttp qword [edi]
add byte [eax], dh
add byte [eax], al
add byte [ecx + ebx*2 + 0x402f0042], dh
das
inc eax
inc ebx
add byte [ecx + edi*4 + 0x540041], al
add byte [eax], al
xor byte [eax], al
add byte [eax], al
int 6
inc edx
add byte [eax + eax], al
add byte [edx + ecx*2], ah
inc edx
add byte [edx + 0x4488b4df], al
add byte [eax], bh
add byte [eax], al
add byte [eax], bh
add byte [eax], al
add cl, bl
aas
inc ebx
add byte [edx], al
add byte [eax], al
add byte [eax], dh
add byte [eax], al
add bl, bh
int1
inc esp
add byte [ecx + 0xb], dl
inc edx
add byte [edx - 0x4a], bh
inc esp
add byte [edi], cl
cmp eax, 0x5d4c0044
jp 0x443cc7
inc esp
add byte [ecx + 0xb], dl
inc edx
add byte [0x38558b5a], al
mov ebx, dword [ebp + 0x44]
mov edi, dword [esi + 4]
js 0x44fb31
jns 0x443d2e
xchg ebp, eax
mov bl, 0x74
mov ecx, dword [edi]
mov ebp, edi
mov ebp, 0x1d350000
jns 0x44fb31
xor eax, 0xc768d1d
lea esi, [esi + 0xc]
add byte [ebx + edx], al
shl dl, 0x20
jmp dword [esi]
jmp 0x444c56
push eax
jmp 0x444c59
push esi
mov al, al
mov byte [esi + 0xba], cl
mov dh, dh
mov byte [esi + 0xbb], 0
mov word [esi + 0xbc], dx
call fcn.004343d5
xchg cx, si
xchg si, cx
mov al, byte [ebp + 0xb]
jmp 0x444c82
push esi
js 0x443bb2
jns 0x444c90
out 0x77, al
jmp 0x444ca0
jns 0x443bb2
ficom dword [ecx - 0x2f88a17]
inc dword [edx + 0x66023ce1]
mov eax, eax
jne 0x444ced
add ah, byte [esi - 0x77]
ror byte [edi], 0x85
inc ebx
add byte [eax], al
add byte [esp + eax - 0xf], dh
je 0x444cb0
int1
out 0x65, al
cld
xor eax, eax
jb 0x41c113
mov cl, byte [ebp + eax - 8]
mov dl, byte [ebp - 0x60]
sub cl, 0x58
sub dl, 0x34
xor cl, dl
jb 0x43e5a4
mov byte [ebp + eax - 0xf0], cl
inc eax
cmp eax, 8
jl 0x444cb8
jge 0x444ce6
push ss
cpuid
ret
jmp 0x426899
test al, al
jb 0x43e5ac
jne 0x426888
je 0x444d01
nop
cpuid
ret 0x458d
lea eax, [ebp - 8]
push 8
xchg cx, bx
xchg bx, cx
lea ecx, [ebp - 0xf0]
push eax
jne 0x42686b
je 0x444d1e
mov ecx, 0x47840f36
sbb edi, esi
push dword [0x2126ffe9]
je 0x42686b
xor eax, 0x2126ffe9
pop ebx
mov ebx, dword [ebp + 0x44]
mov edx, dword [esi + 8]
mov eax, dword [esi + 4]
lea esi, [esi + 0xc]
test byte [ebx + edx], al
jb 0x41a139
jmp dword [esi]
call fcn.0041e84e
sbb byte [esi - 0x3dbbb71], 0xf
pop dword [esp - 4]
js 0x453142
mov cl, cl
lea esi, [esi]
jns 0x44e01c
invalid
jns 0x453142
fimul dword [ecx]
push 0x420dbd
ret
mov di, di
shl al, 0x20
push eax
push esi
jno 0x43ec63
jo 0x453156
lodsb al, byte [esi]
jo 0x43ec63
jo 0x43ec63
xor al, 0x1c
mov eax, dword [ebp + eax]
shl dx, 0x20
mov ebx, dword [esi + 8]
mov al, byte [eax]
lea esi, [esi + 0xc]
xchg dx, si
xchg si, dx
adc byte [ebp + ebx], al
jmp dword [esi]