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

Disassembly:
mov ebx, dword [ebp + 0x44]
mov eax, dword [esi + 4]
mov ch, ch
mov edx, dword [esi + 8]
mov eax, dword [ebp + eax]
lea esi, [esi + 0xc]
sub dword [ebx + edx], eax
shr cl, 0x40
jmp dword [esi]
lodsb al, byte [esi]
inc eax
in eax, dx
inc eax
shl ebp, 0x20
mov eax, dword [ebp + 0x44]
mov edx, dword [esi + 4]
mov ebx, dword [esi + 8]
mov al, byte [eax + edx]
push edx
pop edx
lea esi, [esi + 0xc]
jne 0x4e2df6
je 0x4b7432
lea ecx, [ebp - 0x10]
push 6
shr cx, 0x40
lea edx, [ebp - 0x134]
shl esi, 0x20
jmp 0x4b92b9
push ecx
jmp 0x4b92bc
push edx
call fcn.004eabdd
add esp, 0x18
push ecx
pop ecx
mov dword [ebp - 8], eax
test ax, ax
jb 0x4ea87b
je 0x4f044c
shl dx, 0x20
jne 0x4b92e5
pushfd
cmp ecx, dword [ebx - 0x17aff7bb]
inc eax
push ebx
add al, byte [eax]
mov eax, dword [ebp + 8]
push eax
call fcn.004de62e
mov ecx, dword [ebp - 8]
mov edx, dword [esi]
push ecx
push edx
call fcn.004d6f95
add esp, 0xc
pop edi
pop esi
xchg ebx, edi
xchg edi, ebx
pop ebx
mov esp, ebp
pop ebp
ret
pop ebx
pop ebp
ret
mov dword [0x89f3ff66], 0xc1664065
out 0x20, eax
jmp dword [esi]
add eax, 0x870f5677
pop edi
jg 0x4baba1
add byte [esi + 2], dh
jbe 0x4baba5
insb byte es:[edi], dx
push cs
jbe 0x4d2b00
add eax, 0x85e8bf6
js 0x4d8e51
jns 0x4babbc
and byte [ebx - 0x76f0bbb8], bl
invalid
jns 0x4d8e51
shl cl, 0x20
jmp 0x4bad86
push ebp
shl cl, 0x20
mov ebp, esp
or cl, cl
add dh, 0
sub esp, 0x90
mov ecx, dword [ebp + 0xc]
jmp 0x4bad9c
push ebx
mov ebx, dword [ebp + 8]
jmp 0x4bada2
push esi
lea eax, [ecx + 7]
jmp 0x4bada8
push edi
shr eax, 3
jmp 0x4e60e4
jbe 0x4dfc26
ja 0x4bd2d9
sub ch, ah
sahf
test dword [ebp - 0x9ce0188], 0xf77b820f
add dword [eax], eax
lea edi, [eax - 2]
xor esi, esi
jb 0x4dca5f
cmp edi, edx
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x1c], edi
jbe 0x4dfc26
ja 0x4bd2f8
mov dword [0xe9301479], eax
or al, 0
add byte [eax], al
push ss
wait
jmp 0x4bd309
cmp dl, dl
xor edx, edx
jb 0x4dca67
shl al, 0x20
shr bl, 0x40
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
cmp esi, edx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], ecx
jne 0x4d47f4
je 0x4bd328
popal
loopne 0x4bd338
cmp al, 0x8b
inc ebp
adc byte [ebp - 0x27b27300], cl
mov eax, dword [ebp + 0x10]
lea eax, [eax]
lea ecx, [ebp - 0x28]
ja 0x4c267d
jbe 0x4bd33c
out 0x12, al
cmp dword [ebx + 0x533b860f], ebp
add byte [eax], al
jbe 0x4c267d
xor eax, 0x24448fc6
cld
lea eax, [ebp - 0x100]
push 0x10c
shr cl, 0x40
xchg ah, bl
xchg bl, ah
push eax
call fcn.004d643f
call fcn.004e0701
and eax, 0x43d66fb
add byte [edi], cl
test dword [edi - 0x6d6dffff], edx
mov ax, ax
lea edx, [ebp - 8]
sub ecx, edx
lea edx, [ebp - 0x90]
push edx
xchg cx, dx
xchg dx, cx
jmp 0x4bec7a
push ebx
call fcn.004c8826
js 0x4f06db
jns 0x4bec8b
push 0x4a890f05
sbb al, byte [ebx]
add byte [esi + ebp*4], dh
jns 0x4f06db
xor al, 0xae
jmp dword [esi]
push eax
jmp 0x4c2680
push edx
jmp 0x4c2683
push ecx
jmp 0x4c2686
push ebx
call fcn.004cca24
mov esi, dword [ebp - 0x28]
add esp, 0x10
xchg di, ax
xchg di, ax
mov dword [ebp - 0x90], esi
lea eax, [ebp - 0x90]
mov dword [ebp + 8], 0x19
push ecx
pop ecx
mov edx, dword [eax]
mov edi, dword [ebp - 0x24]
and bh, bh
add bh, 0x9f
sub bh, 0x9f
add edx, edi
mov ecx, 0x20
mov dword [eax + 4], edx
mov edx, dword [eax]
and edx, 0x1f
jb 0x4e5d2c
mov edi, esi
sub ecx, edx
add dx, 0
add eax, 4
shl edi, cl
mov ecx, edx
shr di, 0x40
mov ecx, ecx
mov edx, dword [ebp - 0x8c]
mov dword [ebp - 0x20], edi
mov edi, esi
shr edi, cl
mov ecx, dword [ebp - 0x20]
or ecx, edi
jb 0x4d7efd
xor edx, ecx
jb 0x4d7f13
jne 0x4d47cb
je 0x4c2718
nop
cpuid
ret
je 0x4d47cb
invalid
and al, 0x8b
dec esi
add al, 0x8b
pop esi
or byte [ebp + 0x1bd20c76], cl
mov ch, ch
jmp dword [esi]
push edx
push edx
shr ah, 0x40
cmp eax, 1
jne 0x4d5d7e
mov al, al
je 0x4c73a0
jno 0x4c73be
in al, dx
iretd
mov eax, dword [ebp + 0x10]
push eax
jne 0x4c6874
je 0x4c73b1
into
jmp 0x4c73e0
je 0x4c6874
xor al, 0x1f
mov bl, bl
xchg ebx, eax
shr bx, 0x40
mov ax, ax
xchg ebx, eax
jmp 0x4c73c5
jmp 0x4c7400
push esi
mov cl, cl
shl ax, 0x20
js 0x4d12fa
jns 0x4c73d9
nop
cpuid
ret 0x890f
jns 0x4d12fa
fcomp dword [edx]
push eax
push edi
pop edi
mov dword [ebp - 4], ebx
call fcn.004e19f0
mov edx, dword [esi]
xor cx, cx
jb 0x4e9b6e
sbb bh, bh
invalid
mov cl, al
push edx
mov word [ebp - 0x34], cx
call fcn.004f479f
mov di, ax
mov eax, dword [esi]
jmp 0x4c740a
wait
rol dword [edx], cl
add byte [esi - 0x77], ah
invalid
push ebx
push eax
and edi, 0xffff
jb 0x4ba3c8
call fcn.004dec62
mov dl, dl
lea ecx, [ebp - 0x24]
lea edx, [ebp - 0x30]
push ecx
lea eax, [ebp - 0x1c]
jmp 0x4c742c
push edx
jmp 0x4c742f
push eax
call fcn.004de641
mov eax, dword [ebp - 0x24]
add esp, 0x1c
cmp eax, 0x7cf
jge 0x4c745d
jl 0x4c7450
cpuid
ret
mov dword [ebp - 0x14], ebx
jmp 0x4c747c
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x1c]
jmp 0x4c7464
push eax
jmp 0x4c7467
push ecx
push edx
call int.004dfe84
add esp, 0xc
mov dword [ebp - 0x14], eax
shl ax, 0x20
mov si, si
mov eax, dword [esi]
push 0x100
lea ecx, [ebp - 0x134]
push eax
jmp 0x4c748f
push ecx
call fcn.004ed6c6
lea edx, [ebp - 0x2c]
jmp 0x4c749a
push esi
lea eax, [ebp + 8]
push edx
lea ecx, [ebp - 0x134]
jmp 0x4c74a8
push eax
push ecx
mov bh, bh
call fcn.004c09e6
add esp, 0x1c
cmp ax, bx
je 0x4f2a1e
jne 0x4c74c8
add eax, 0x8b493990
push ss
mov edx, dword [esi]
jmp 0x4c74cb
push eax
jmp 0x4c74ce
push edx
call fcn.004d6f95
add esp, 8
mov edi, edi
jmp 0x4f2a0d
mov ecx, dword [esi]
js 0x4f6432
shr bh, 0x40
mov edx, dword [eax + 0x76]
shr dl, 0x40
mov cx, word [eax + 0x7c]
mov eax, dword [ebp + 8]
jmp 0x4cff07
push edx
shr di, 0x40
mov edx, dword [esi + 4]
jne 0x4e9f42
je 0x4cff1b
loopne 0x4cff29
ror dword [edi], 0x84
and dword [eax - 0x43caffff], esp
jmp 0x4cff24
je 0x4e9f42
xor eax, 0xf0ffebbc
push eax
mov ax, ax
jmp 0x4cff2a
push esi
call fcn.004b9ebe
add esp, 0x30
xchg ebx, esi
xchg esi, ebx
jmp fcn.004c0629
call fcn.004c58eb
inc eax
js 0x4e7dd0
jns 0x4d2b10
mov ch, 0xc3
jns 0x4e7dd0
and eax, 0x16478aee
mov ecx, dword [ebp + 8]
dec ecx
mov dword [ebp - 0x8c], edx
mov dword [ebp + 8], ecx
jne 0x4c26af
je 0x4d47e4
cld
xchg byte [0xe47d8bc8], ch
mov edi, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x18]
shr eax, 0x40
jmp 0x4e4410
shr dx, 0x40
lea edx, [ebp - 0x90]
jne 0x4e43fe
je 0x4d480a
stc
out 0x1a, al
mov cs, word [edi]
test dh, ch
sti
add byte [eax], al
je 0x4e43fe
fnstenv [0xfec08d8d]
invalid
jmp dword [esi]
cmp eax, 2
jne 0x4d5dba
je 0x4d5d8f
outsd dx, dword [si]
mov esi, 0x104d8b41
mov ecx, dword [ebp + 0x10]
push ecx
xchg si, dx
xchg dx, si
jmp 0x4d5d9b
push edx
push edx
xchg cx, bx
xchg bx, cx
push ebx
call fcn.004cca24
add esp, 0x10
jmp 0x4f06f7
ja 0x4bec6b
jbe 0x4d5dc6
inc esi
mov ebx, 0x860f96dd
lahf
invalid
jbe 0x4bec6b
fstp dword [esi]
shl al, 0x20
add byte [eax], al
je 0x4d622f
dec esi
add byte [eax], dh
add byte [eax], al
add byte [eax + eax], dh
add byte [eax], al
loope 0x4d62b0
dec ebp
add byte [edi + 0x72004bba], bh
call 0x62e662e1
dec ebp
add byte [eax + 0x72c2a20f], dl
call 0xbb0c62ed
dec ebx
add byte [0x445d8b54], ah
mov edx, dword [esi + 8]
mov eax, dword [esi + 4]
lea esi, [esi + 0xc]
sub word [ebx + edx], ax
jb 0x4d6277
dec esi
add byte [ecx - 0x6fffb29e], bl
cpuid
ret 0xe872
sub dword [ebx + edx], eax
shl ah, 0x20
jmp dword [esi]
clc
lcall 0x856, 0x8b445d8b
mov di, di
mov eax, dword [esi + 4]
lea esi, [esi + 0xc]
sub dword [ebx + edx], eax
jmp dword [esi]
xchg ebx, eax
sbb dword [edi], ecx
mov byte [ecx + 0x27], bh
add byte [eax], al
jns 0x4d62da
push eax
lea ecx, [edi]
mov dword [edi + 0x27], ebp
add byte [eax], al
jns 0x4d8a4f
fdiv dword [ebx - 0xc]
pop es
dec esp
add byte [eax + 0x3c000055], bl
add byte [eax], al
add byte [eax - 0x67ffb267], bh
push ebp
add byte [eax], al
cmp al, 0
add byte [eax], al
sbb edx, dword [edx + 0x4e]
add byte [eax], cl
add byte [eax], al
xor al, 0
add byte [eax], al
je 0x4d628d
dec esp
add byte [edx], ah
mov ecx, 0x328d004c
dec esp
add byte [eax], cl
add byte [eax], al
dec ebx
fimul dword [ebp]
add byte [eax], al
add byte [eax + eax], dh
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
or byte [eax], al
add byte [eax], al
enter 0x4e5a, 0
lea esi, [edx]
dec esp
add byte [eax + eax], al
add ah, ah
jne 0x4d6391
add byte [ebx - 0x2b], ah
xor al, 0x77
dec esp
add byte [esi - 8], al
dec ebp
add byte [edx], bh
stosd dword es:[edi], eax
dec ebp
add byte [ebx + 0x63], bl
dec ebp
add byte [edi - 0x7a], bl
cdq
cmp ch, byte [ebx - 0x7b9ffb3]
dec ebp
add cl, bl
popfd
push edi
call fcn.004c57f4
add esp, 0xc
test al, al
jb 0x4ddcad
je 0x4d4432
jne 0x4d6385
and eax, 0x8b1c4aa1
push cs
mov ecx, dword [esi]
push 0x14
mov cl, cl
push 0x4d4426
ret
invalid
setbe byte [bp - 0x7ef1]
add eax, 0xfff8816
xor dword [edi], 0x70000135
add ecx, dword [edi]
mov al, byte [0x20e1c032]
xchg dl, bh
xchg bh, dl
mov ebx, dword [ebp + 0x44]
mov eax, dword [esi + 4]
xchg cx, di
xchg di, cx
mov edx, dword [esi + 8]
shl si, 0x20
mov al, byte [ebp + eax]
lea esi, [esi + 0xc]
sub byte [ebx + edx], al
jmp dword [esi]
scasd eax, dword es:[edi]
add ecx, dword [ebp - 0x127699e5]
jno 0x4f5c18
jo 0x4d8a85
invalid
jo 0x4f5c18
add eax, 0x8bf689de
pop esi
add al, 0xc0
call 0x8c417d8
ja 0x4d60db
jbe 0x4d8e5d
jbe 0x4d60db
mov byte [edi], ch
shr ecx, 0x40
mov edi, edi
mov eax, dword [esi + 4]
mov ebx, dword [esi + 8]
mov ebx, dword [ebp + ebx]
mov esi, esi
lea esi, [esi + 0xc]
or eax, eax
and byte [ebx], al
jb 0x4cc4c9
jne 0x4c1c7b
mov si, si
je 0x4ddcdb
je 0x4c1c7b
mov bp, bp
clc
into
cmp byte [edi], cl
xchg byte [esi - 0x26000024], ah
cmp ebp, dword [edx]
fnstcw word [ebx]
push 0
ja 0x4cfef9
jbe 0x4dedc0
xchg edi, eax
ror dword ds:[edi], cl
xchg byte [ebx], dh
adc edi, edi
invalid
jbe 0x4cfef9
invalid
add byte [eax], al
cmp ch, byte [ebx - 0x428ffb3]
dec ebp
add byte [esi - 0x3b], cl
dec ebx
cmp ch, byte [ebx + 0x6f46004d]
dec esp
add bh, al
sahf
mov dword [ebp - 0x18], esi
jb 0x4bd2ff
jae 0x4dfc1b
inc esp
add cl, byte [edi - 0x75]
inc ebp
in al, dx
mov eax, dword [ebp - 0x14]
xor edx, edx
jb 0x4d62d8
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 8], edx
cmp ecx, edx
mov dword [ebp - 4], edx
jbe 0x4dfc67
shl ah, 0x20
ja 0x4dfc40
pop ebp
pop esp
xchg esi, eax
jae 0x4dfbca
mov edx, ecx
mov ah, ah
lea esi, [ebx + 8]
lea edi, [ebp - 8]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
jb 0x4d62e0
retf 0xe488
xor edx, edx
jb 0x4d8a72
rep movsb byte es:[edi], byte [esi]
jmp 0x4c738d
push edx
push ebx
call fcn.004c8826
add esp, 8
shl cx, 0x20
mov eax, dword [ebp - 8]
jmp 0x4e9f95
and ecx, 7
jb 0x4deda8
mov dword [ebp - 0x14], eax
mov dword [ebp + 0xc], ecx
jne 0x4e6109
je 0x4e6102
and dword [edi + 0x3c], 0xc45c7f7
or byte [eax], al
add byte [eax], al
mov dword [ebp + 0xc], 8
add bh, 0x38
sub bh, 0x38
xor edx, edx
jb 0x4dedb1
cmp eax, 1
mov dword [ebp - 4], edx
mov al, al
mov dword [ebp - 8], edx
mov bp, bp
mov dword [ebp - 0x10], edx
mov dword [ebp - 0xc], edx
shr bx, 0x40
jne 0x4bd2cd
je 0x4e613b
loopne 0x4e6199
je 0x4bd2cd
fsub dword [edx]
lea esi, [esi + 0xc]
mov dx, dx
rcl word [ebx], cl
jne 0x4d4dfe
shr cl, 0x40
je 0x4e6159
je 0x4d4dfe
inc eax
mov ecx, dword [ebp + 8]
push ecx
mov al, al
call fcn.004d8712
add esp, 4
cmc
jmp 0x4e7dd1
push eax
push esi
mov esi, dword [ebp + 0xc]
xor eax, 0x24448fa6
mov ecx, dword [ebx]
xor ecx, eax
jb 0x4d62b8
mov eax, dword [ebx + 4]
mov dword [ebx], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
add bp, 0x77d5
sub bp, 0x77d5
xor eax, ecx
jb 0x4d62ce
shr ecx, 0x40
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0xc]
add ebx, 8
shr dl, 0x40
inc esi
cmp esi, edi
mov dword [ebp - 8], edx
xchg dx, ax
xchg dx, ax
mov dword [ebp - 4], eax
jmp 0x4dfc0d
movsb byte es:[edi], byte [esi]
aaa
mov cx, cx
mov eax, dword [esi + 4]
push edx
pop edx
mov ebx, dword [esi + 8]
mov eax, dword [ebp + eax]
mov ebx, dword [ebp + ebx]
lea esi, [esi + 0xc]
or ax, ax
and dword [ebx], eax
jb 0x4f583b
jmp dword [esi]
mov eax, dword [ebx]
jno 0x4c833d
jo 0x4f0459
dec ecx
xchg esp, eax
out 0xf, eax
sbb dh, 0x7e
std
push dword [0xf613cb2]
jo 0x4c833d
xor eax, 0xf613cb2
adc byte [eax + 0x63], 0xfe
push dword [ebx + 2]
mov byte [esi - 0x78f085c4], dl
inc esp
arpl si, di
push dword [esi + 3]
mov eax, 0xff253776
add byte [eax], al
add byte [edi], cl
adc al, 0xce
std
push dword [ecx]
ror byte [edi], cl
adc cl, 0xce
std
dec dword [edi]
mov byte [esi], dh
enter 0xffffffffffffffff, 0x79
add cl, byte [ebx + ebp*4 - 0x37d376f1]
invalid
mov eax, dword [ebp - 0x14]
add esp, 8
cmp eax, 1
jbe 0x4c1bcd
mov al, al
ja 0x4f06f7
cpuid
ret
mov eax, dword [ebx]
mov esi, dword [ebp - 8]
mov ecx, dword [ebx + 4]
mov edx, dword [ebp - 4]
mov edi, dword [ebp + 0xc]
xor esi, eax
jb 0x4d8a8b
xor edx, ecx
jb 0x4f5c37
xor eax, eax
jb 0x4f5c43
test cx, 0x6419
test edi, edi
jb 0x4b740e
mov dword [ebp - 8], esi
mov dword [ebp - 4], edx
jbe 0x4b773f
ja 0x4f073b
test eax, 0xd9893fd5
mov ecx, ebx
jno 0x4be519
jo 0x4f0748
call [esi + 0x42]
jo 0x4be519
fadd dword [ebx + 0x7dd926ff]
mov eax, dword [ebp + 0x30]
mov ebx, dword [esi + 4]
shl bx, 0x20
lea esi, [esi + 8]
mul byte [ebx]
mov dword [ebp + 0x30], eax
jmp dword [esi]
shl eax, 0x20
shr ebx, 0x40
mov ebx, dword [ebp + 8]
mov eax, eax
lea eax, [ebp - 4]
push esi
jmp 0x4f2a2f
push eax
push 0
jne 0x4b92a6
je 0x4f2a3f
clc
ret
je 0x4b92a6
fcom dword [esi + 0xf6bc35d]
shr esi, 0x40
pop esi
xor ax, ax
jb 0x4c4117
ja 0x4b9b57
jbe 0x4f2a63
popal
int 0xa7
jbe 0x4b9b57
xor al, 0xbc
ret
mov ah, ah
mov ebx, dword [ebp + 0x44]
mov eax, dword [esi + 4]
xchg ah, al
xchg al, ah
mov edx, dword [esi + 8]
mov ax, word [ebp + eax]
lea esi, [esi + 0xc]
cmp bh, bh
sub word [ebx + edx], ax
jmp dword [esi]
sal dword [esi - 0x7212769a], 0
jmp 0x4b73f4
ficom dword [ebx + 0x560c5d8b]
mov esi, dword [ebp + 8]
mov al, byte [ebx + 6]
mov bl, bl
push edi
mov ecx, dword [esi + 0x14]
mov edi, dword [ebx]
mov byte [ebp - 4], al
cmc
add ah, 0xc2
sub ah, 0xc2
xor eax, eax
jb 0x4bab98
cmp ecx, eax
mov byte [ebp - 8], 0
mov dword [ebp + 0xc], eax
shr cl, 0x40
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], eax
lea ebp, [ebp]
je 0x4ec8e4
xchg dl, bl
xchg bl, dl
jne 0x4f5c8d
mov eax, dword [0xfffc4d8d]
int1
lea ecx, [ebp - 4]
push ecx
push 0x4e4556
jmp 0x4f5c98
push eax
push 0x532285
push esi
call fcn.00502530
lea edx, [ebp - 8]
jmp 0x4f5ca9
push edx
push 0x4e4556
push 0
shl edx, 0x20
push 0x532291
shr ax, 0x40
jmp 0x4f5cbf
push esi
call fcn.00502530
lea eax, [ebp + 0xc]
push eax
push 0x4dd3ee
push 0
push 0x53229d
jmp 0x4f5cd8
push esi
call fcn.00502530
call 0x4df286
ficom dword [eax + ecx*4]
fisttp dword [ebx - 0x7e99efab]
in eax, dx
add byte [eax], al
cmp al, al
cmp al, 1
mov byte [esi + 0xba], al
push 0x4d82e1
ret