Function at 0x617eb9
Capabilities:
Encode data using base64
Encrypt data using speck
Execute anti-debugging instructions

Disassembly:
mov eax, ecx
shr cx, cl
xadd ch, cl
mov dword [ebp - 0xcc], eax
sal cl, 0xb1
btc cx, bx
ror ecx, 0x1f
mov ecx, 1
clc
test di, di
cmp esp, 0x409c7fb5
cmp dword [ebp - 0x20c], ecx
je 0x4319f0
mov ecx, dword [ebp - 0x260]
test cx, 0x8994
xor ecx, eax
clc
mov dword [ebp - 0xcc], ecx
mov ecx, 1
not al
mov eax, dword [ebx + 0xc]
clc
test esp, edx
mov dword [ebp - 0x224], eax
add eax, 0x201ad5b9
mov dword [ebp - 0x208], esi
shld ax, sp, 0x8a
bswap eax
bts eax, edx
mov eax, dword [ebx + 0x14]
cmp cl, ch
test ebp, 0xa937aba8
mov dword [ebp - 0x204], eax
mov eax, dword [ebx + 0x10]
jmp loc.0068109d
add dword [esp + eax - 0x30bb9e3e], edx
lea ebp, [eax + ebp - 0x30bb9e42]
mov eax, dword [ebp + eax*2 - 0x61773c7c]
xor eax, ebx
lea eax, [eax + edx*2 - 0x33a73323]
push edx
sar edx, 0x33
neg eax
sub eax, 0xf2a99cac
call int.0073d41e
call fcn.0072fa4c
mov eax, dword [ebp + eax*2 - 0x6f36fb74]
mov edx, 0x98bee39c
lea ecx, [edx*4 - 0x6ccd2278]
mov ecx, dword [ebp + 4]
lea edx, [edx + edx*8 + 0x1e102683]
dec edx
lea ebp, [ebp + edx - 0x7cc626fa]
not eax
not ecx
btr edx, edx
xor edx, 0xb732479e
setbe dl
or eax, ecx
sub edx, edx
sbb edx, edx
movzx ecx, dx
mov dword [ecx + ebp], eax
lea edi, [edi + edx*8 - 4]
mov eax, dword [edi + edx*8]
cmovbe cx, dx
shl edx, 0x29
xor eax, ebx
inc edx
not eax
sub eax, edx
neg cx
bswap eax
btr edx, 0x33
sal edx, 0x28
sbb eax, 0xdf173309
sal edx, 0x51
xor ebx, eax
add esi, eax
jmp 0x66168a
call edx
mov ax, word [ebx + 0x60]
stc
cmp cx, 0xf2a
mov word [edi + 0x56], ax
cmc
cmp dword [edi + 0x6c], 0
jmp 0x62c46d
adc edx, ecx
mov ecx, eax
shr ecx, 0xee
btc eax, ecx
mov dword [eax + esi - 0x615efa92], edx
jb 0x6f2644
mov eax, 0x379b7dba
jmp 0x5bfd55
je 0x5cb811
mov edx, dword [ebx]
cbw
mov eax, esi
push eax
mov cx, 0x3214
setne ch
mov ecx, ebx
jmp 0x66b122
mul eax
lea ecx, [eax + ecx + 0x10650b0f]
cmovo ax, dx
not eax
call fcn.005dce03
adc al, 0x4d
mov ch, al
call 0xc85c895
out 0x3d, eax
push ecx
cwde
in eax, 0xd1
inc esi
sbb al, 0x82
sbb byte [esi], ch
xor dword [esi + ecx*8], edi
pop edi
inc ebp
rcl byte [esi]
and bh, byte [edi - 0x34]
pop edx
adc eax, eax
jae 0x5f1463
int1
adc edi, 0x26
push ss
in al, 0x6c
rcl byte [ebp + 0x277fff78], cl
mov dword [0x803109d9], eax
stc
push 0x8a5e5ca9
xchg edi, eax
jg 0x5f14af
xchg ebp, eax
in al, dx
stosd dword es:[edi], eax
invalid
stosb byte es:[edi], al
invalid
sub esi, 4
mov dword [esp], eax
jmp 0x69c74c
je 0x62c48d
mov ecx, dword [ebx + 0x54]
rdtsc
lea ecx, [ecx + 2]
xor dl, 0xa
shr ax, 0x2f
shl esi, 0x39
mov dword [edi + 0x68], ecx
btc ax, 0xa0
lea esi, [ebx + 0x54]
adc dx, si
inc dl
bsf edx, esi
mov edx, dword [esi]
inc cl
rcl cl, 0xa1
mov dword [edi + 0x6c], edx
sal dh, cl
bsf cx, dx
mov eax, dword [ebx + 0x88]
mov dword [ebp - 0x9c], eax
sar cl, cl
shld dx, bx, 0xa1
sal cx, cl
lea ecx, [ebp - 0x27c]
btr dx, 0xae
mov dword [ebp + 8], ecx
bts ecx, ecx
and cl, 0x85
mov ecx, dword [ebx + 0xa0]
mov edx, dword [ebp - 0x10c]
cmp al, 0xbf
cmp ebp, edi
test edx, edx
jmp 0x6331d6
je 0x4319a2
mov eax, dword [ebp - 0xa0]
cmc
jmp 0x651b87
add edi, 2
neg dl
adc dx, dx
push edx
and cx, ax
not cx
mov eax, 0x30bb9e3e
mov word [eax + edi - 0x30bb9e3e], cx
jmp 0x5b9012
lea ecx, [ecx + 0x32a24022]
xor ebx, eax
xor ecx, edx
adc edi, eax
bt ecx, edx
imul ecx, ecx
bts edx, 0xb9
mov edx, dword [ebp]
mov cl, byte [ebp + 4]
mov eax, 0xfc15601c
neg eax
add ax, 0xd538
lea ebp, [eax + ebp - 0x3ea751a]
jne 0x7509e6
mov edx, 0x91997389
mov cx, word [edi]
mov ax, word [edi + 2]
inc edx
jle 0x63cf8b
mov edx, 0x22925392
call fcn.005f9e87
pop edx
pop edx
pop ecx
jmp ebp
mov eax, dword [eax + 0x34]
xor eax, ecx
jmp 0x6827b0
rol ecx, 0x77
or edx, 0x632270ad
add ecx, esi
jmp ecx
mov edx, dword [edx + 0x28]
jmp 0x5cb80f
jmp 0x4319aa
mov eax, dword [esi]
mov ecx, dword [esp]
xor eax, ebx
sub cl, byte [esp + 1]
seta byte [esp + 3]
neg dword [esp]
bswap eax
movsx edx, word [esp]
not edx
pop ecx
dec eax
btc dx, cx
neg eax
bts ecx, 0x3a
dec eax
shr edx, 0x8b
add edx, 0x508fa282
xor ebx, eax
call fcn.0060195f
mov eax, 0x7232be97
lea edi, [edi + eax - 0x7232be9b]
movsx edx, ax
cwde
cwde
mov ecx, dword [edi]
call fcn.006a4332
sbb eax, 0x8e1d999e
neg cx
shr dword [esp + edx*2 - 0x1916ca7c], 0xe4
bswap eax
pop ecx
shl edx, cl
dec eax
xor ebx, eax
ror dl, 0x25
bts edx, edx
adc ebp, eax
xor dx, 0xb41d
mov edx, dword [edx + esi - 0x2d944c1c]
shr ecx, 0x19
lea eax, [ecx*4 - 0x1078f3db]
sets cl
add ecx, dword [esi + ecx*8 + 4]
ror eax, 0x76
xor eax, 0x6c247310
lea esi, [esi + eax - 0x7014a4aa]
lea eax, [eax + eax - 0x76ca4eca]
jg 0x5d5557
call 0x6b8fa9
mov eax, dword [esi]
add esi, 4
xor eax, ebx
bswap eax
add eax, 0xcb20b734
mov edx, 0xd1651b3
jmp 0x745765
shr edx, cl
mov dword [ebp + eax - 0x3ea751c], edx
movzx ecx, al
mov edx, eax
jmp edi
movzx ecx, dx
not eax
lea ecx, [edx + edx*2 + 0x338dfc38]
xchg ecx, edx
lea edx, [ecx*2 + 0x68b6558d]
inc eax
bswap eax
dec dx
jne 0x640d63
mov dx, word [edi]
mov ax, word [edi + 2]
add edi, 2
or dx, ax
not dx
mov eax, 0x293a011c
movzx ecx, ax
mov word [ecx + edi - 0x11c], dx
mov ecx, dword [eax + ebp - 0x293a011c]
movzx edx, al
xchg dh, dl
not dx
lea ebp, [ebp + eax*2 - 0x52740234]
xor ecx, ebx
and ax, 0x5f84
jne 0x5f1435
jns 0x6fc4af
mov dword [ebp - 0x230], eax
mov eax, dword [edi]
xchg esi, ecx
not esi
mov si, 0x8237
mov dword [ebp - 0x1fc], eax
mov esi, 0x3281e482
mov ecx, dword [edi + 4]
mov si, 0xb8bd
mov dword [ebp - 0x1e0], ecx
movsx esi, bx
mov byte [ebp + 0x10], 6
mov byte [ebp + 0x11], 0x2a
lea ecx, [ebp + 0x10]
lea esi, [ebp - 0x40]
call fcn.00412770
cmp dword [ebx + 0xa0], 0
jmp 0x5e9778