Function at 0x10010fa1
Capabilities:
Encode data using base64
Encrypt data using speck
Get disk information
Get number of processors

Disassembly:
xor eax, 0xbcc7558a
jb 0x10018cc3
mov eax, eax
jae 0x10018cc3
call fcn.100105f3
pop edi
pop esi
call fcn.10017360
mov ecx, 0xe8fced69
cmp esi, ebx
je 0x1000e98d
call fcn.10015743
lea esp, [edi]
div bh
call 0x5291df72
add dl, byte [eax]
test ah, 0
call fcn.10010ac5
clc
xchg dword [esp - 0x18], esp
mov ebp, esp
push edi
fisttp qword [esi]
add byte [eax], al
call fcn.100167c5
pop ecx
sub eax, 0xfe89a80
test esp, ebp
inc edx
add byte [eax], al
xor eax, eax
pop esi
ret
ret
ret
sub dword [esp + 8], ebp
mov ebp, dword [ebp]
jg 0x10012a3c
xchg ebx, ebx
jle 0x10012a3c
add al, ch
xor eax, 0xda00001c
std
in al, 0xb8
call 0x1825230b
sub dword [esp + 8], edx
ret
popfd
jo 0x100118de
xchg bl, bl
jno 0x100118de
jnp 0x100164a0
test eax, eax
call fcn.100113b9
add dword [edx + 0xf], 0xffffffb4
call 0xc9df5715
add byte [eax], al
call fcn.100103ce
cli
and eax, 0x89e859a4
dec esp
push es
and byte [ecx + 0x458dfc45], cl
hlt
mov ebp, esp
adc byte [edx - 0x75], 0
add al, ch
push ebx
mov ch, 0
add byte [esi - 0x1720c268], dh
pop ecx
js 0x10013161
mov esp, esp
jns 0x10013161
jb 0x1001076f
xor edx, 0xbdc1d0fb
test ebx, 0
jb 0x1000df97
call fcn.100103f0
mov fs, word [edx - 0x74]
adc eax, 0xbc33e8
add byte [edi], cl
adc byte [ebp - 0x7cffff4d], 0xc1
add dh, bh
mov byte [eax], 0
pushfd
jb 0x1000fcac
sub eax, dword [eax]
add byte [edx], dl
mov al, byte [0x28e828f6]
inc ebp
or byte [edi], cl
test byte [esi], ah
jl 0x1000df9e
add byte [edi], cl
test byte [esi - 0x17fffff2], dl
jnp 0x1000df42
add byte [eax], al
popfd
or eax, dword [esi - 0x18]
call 0xd987ef50
sbb dword [eax], eax
add byte [edx - 0x3e79f013], cl
sbb dword [eax], eax
add byte [ebx + 0x10024703], ah
popfd
jmp 0x10012178
test edi, 0x880f0000
jp 0x1000e182
add byte [ebx], bh
int1
call fcn.10018326
clc
sti
scasd eax, dword es:[edi]
pop edx
call 0xf8c55792
in eax, 0x61
add byte [eax], al
push 0xe864d73b
jmp 0x10016760
add dword [esp + 8], edi
ja 0x10017b0b
xchg cl, cl
jbe 0x10017b0b
call fcn.1000ca15
call fcn.1000cdde
mov dl, 0x52
scasd eax, dword es:[edi]
mov al, byte [0x840f9ce8]
mov bl, 0x71
add byte [eax], al
pushfd
jp 0x1001974c
xor ecx, 0x97bc5f04
js 0x1000f3df
mov al, al
jns 0x1000f3df
invalid
mov dl, byte [esi]
call fcn.100141ab
or dword [eax + 0x29e8d5e6], edi
inc esp
and al, 8
ret
add esi, esi
rol dword [eax], 0xf
and byte [eax + 0x42], 0
add al, ch
ficomp dword [ebx + 0x970000]
push edx
jge 0x1000e58e
invalid
add al, 0x83
call fcn.1001421d
or eax, 0xe80fa5be
jb 0x10019368
xor cl, 0x3f
call fcn.1000d74a
xchg esp, eax
adc edi, 0xffffffe8
popfd
jmp 0x100177fc
ror byte [edi], 0x84
jne 0x1000eb18
invalid
pop ecx
jg 0x10017510
mov di, di
jle 0x10017510
jb 0x1000ee32
xor eax, eax
pop esi
pop ebx
call fcn.1001421d
jo 0x1000eca9
movsd dword es:[edi], dword [esi]
psubsb mm6, qword [ebx]
rol bl, 0x89
nop
or al, 1
add byte [eax], al
call fcn.10010fa1
mov edi, 0xe845582c
lea ecx, [ebp - 0x208]
call fcn.1000e726
stc
aad 0xce
call 0x8dcd9e4
invalid
ret
pushfd
jmp 0x1001651d
mov edi, dword [edi]
ja 0x10016aea
xchg al, al
jbe 0x10016aea
xor eax, eax
add dword [esp + 8], ecx
jl 0x100180ea
mov ecx, ecx
jge 0x100180ea
mov ecx, dword [ecx]
ja 0x1000f283
xchg esi, esi
jbe 0x1000f283
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xe08]
mov dword [esp], eax
test bh, 0
jo 0x1001262f
pop eax
jo 0x100126bb
mov ecx, ecx
jno 0x100126bb
in al, dx
adc byte [ecx], al
add byte [eax], al
call fcn.1000e8fd
fidivr word [ecx]
invalid
add ecx, 0x62d83dc9
jo 0x10017986
mov bl, bl
jno 0x10017986
inc esp
and al, 0x38
pushfd
jmp 0x100109e9
ret
popfd
jl 0x10011f2e
xchg ebx, ebx
jge 0x10011f2e
pop ebp
jl 0x100166d6
pop eax
jg 0x10010a04
xchg di, di
jle 0x10010a04
pushfd
jb 0x10019702
xchg ch, ch
jae 0x10019702
pushfd
jl 0x1000e341
mov bp, bp
jge 0x1000e341
mov eax, dword [eax]
js 0x10010fcd
xchg ah, ah
jns 0x10010fcd
mov edx, dword [edx]
jb 0x1001744f
mov edx, edx
jae 0x1001744f
push edi
call fcn.10013415
pop dword [eax]
cmp al, ch
leave
push ecx
jp 0x100197d4
xchg di, di
jnp 0x100197d4
seto cl
call fcn.100189ef
dec ebp
stc
mov eax, 0xb8e9e860
aam 0xff
invalid
pushfd
je 0x100105df
mov dl, dl
jne 0x100105df
push ebx
test ax, 0
jb 0x10015a1f
call fcn.100197a5
mov eax, dword [0xe81e1706]
inc esi
test edx, 0
js 0x1000eaa7
cmp esi, 0xa
call fcn.10010301
aam 0xec
ja 0x10011081
call 0x7b3a901e
add byte [eax], al
add edx, ecx
call fcn.1000e726
inc edi
iretd
xor ecx, 0xcc5999f4
js 0x10013b21
xchg si, si
jns 0x10013b21
jl 0x1001109d
add dl, byte [eax]
jmp 0x10017e14
sub edi, 0x1e16f813
out dx, eax
adc edi, eax
push ss
push ds
jo 0x100140ad
xchg sp, sp
jno 0x100140ad
mov edi, dword [edi + 8]
call fcn.10010fa1
movsb byte es:[edi], byte [esi]
xor byte [eax + 0x45], bl
call 0xcd4c95b5
invalid
pushfd
jp 0x10011080
xchg ebx, ebx
jnp 0x10011080
add edi, edi
push edi
call fcn.10019407
pop ecx
call fcn.10014edc
jl 0x1001111c
adc eax, 0x840fe800
inc edx
mov ebp, 0xeae8ffff
in al, 0xff
push dword [edx]
in al, dx
cmp eax, 0x8b55e879
push ebp
mov ebp, esp
call 0x7ed9c76
rol dword [eax], 0
add byte [eax], al
test ecx, 0
call fcn.100107bb
mov ch, 0xd4
loopne 0x10011156
call 0x66029f43
add byte [eax], al
mov ebx, dword [ebp + 0xc]
movzx ebx, byte [ebx + edx]
test di, 0
call fcn.1000f8e2
mov ecx, 0xe8503fb3
push 0x41eb3ab4
lea eax, [ebp - 0x14]
call fcn.1000fffe
mov eax, dword [eax + 8]
call fcn.100197a5
popfd
jnp 0x1001117a
out dx, al
invalid
push ds
call 0x142555f5
js 0x10011ef0
mov dh, dh
jns 0x10011ef0
push ebx
push ebx
call fcn.1000d2ea
aas
xor dword [ecx + 0x30ffe8dc], eax
call fcn.10014edc
lds ecx, [edi - 0x1717ffeb]
imul ebp, esi, 0x1be8ffff
xchg byte [eax], al
add byte [edi], bh
mov bh, 0x1b
out 0xe8, eax
mov bh, 0x48
adc al, 0xe8
lds ecx, [ebp]
add bh, cl
inc dword [ecx + 0x6c8be850]
and al, 4
js 0x1000f5b3
xchg dl, dl
jns 0x1000f5b3
pushfd
je 0x10013699
mov ecx, ecx
jne 0x10013699
je 0x100133f1
call int.10015ae1
les ebp, [eax]
xor al, 0x2e
call 0x10033238
mov al, 0x34
add byte [eax], al
sub esi, 0xcc1ae8b
je 0x1000da4c
pushfd
jb 0x1000f985
nop
jae 0x1000f985
imul eax, eax, 0x11
test ecx, 0
jo 0x1000db74
sub eax, 0x915fc48
call fcn.1001832c
cmpsd dword [si], dword es:[di]
mov bh, 0x6d
call 0xe7fca105
invalid
pop eax
jl 0x10012187
xchg ebp, ebp
jge 0x10012187
push ebp
call fcn.10018bef
jae 0x10011935
mov esp, 0x4c8be897
and al, 4
push edi
ret 0
adc dword [esi - 0x57], esp
add byte [eax], al
jnp 0x10016d97
test edx, edx
jne 0x10011a04
mov edx, dword [edx]
mov dword [eax], edx
mov edx, dword [ecx]
mov edx, dword [edx]
mov dword [edx + 4], eax
call fcn.100136eb
mov ecx, 0xe8528b77
pop esi
mov esp, ebp
pop ebp
ret
sbb eax, 0x68000063
pop ds
inc edi
add dl, byte [eax]
jmp 0x10017e14
ret
pop ebp
jl 0x1000cb43
mov ebx, ebx
jge 0x1000cb43
mov esi, dword [esp + 4]
jb 0x1001864b
mov dx, dx
jae 0x1001864b
test di, 0
jb 0x1001376e
and dword [ebp - 4], 0
push 2
lea ecx, [ebp + 0xa]
call fcn.10016b23
or al, bh
invalid
mov edi, dword [edi]
jb 0x100110f3
xchg bl, bl
jae 0x100110f3
sub dword [esp + 8], ebp
ret
test edx, 0x850f0000
outsb dx, byte [esi]
mov dl, 0xff
jmp [ebx]
xchg byte [edx], bl
test eax, 0x860fffff
clc
retf
pop eax
je 0x10013255
mov esi, esi
jne 0x10013255
ret
sub ebp, 0x2e8f0f4c
js 0x1001209c
mov bx, bx
jns 0x1001209c
jo 0x10012133
test eax, eax
jne 0x100152c4
invalid
mov edx, dword [edx]
jb 0x10013c0f
mov edi, edi
jae 0x10013c0f
test ebx, ebx
jne 0x100187f0
call fcn.10017b8d
sbb esi, dword [ecx + 0x14]
cmp ch, al
lea eax, [ecx - 0x61]
test bl, 0
jb 0x100185cb
cmp al, 0x19
call fcn.1000e9f7
xor ebx, ecx
daa
popfd
call 0x2c520ddf
add byte [eax], al
lodsb al, byte [esi]
inc eax
adc al, 0xe8
pushfd
jp 0x10015836
mov cl, cl
jnp 0x10015836
call fcn.1001279a
mov bl, 0xda
pop ecx
int3
shr dword [edx + 0x20], cl
push 1
call fcn.10013e70
scasb al, byte es:[edi]
aam 0x30
scasd eax, dword es:[edi]
call 0x3383359a
movsb byte es:[edi], byte [esi]
invalid
pop eax
jb 0x1000ca68
xchg bl, bl
jae 0x1000ca68
jl 0x10013273
jl 0x1000eaa7
ret
pop eax
jo 0x100134da
xchg bx, bx
jno 0x100134da
pop ebp
je 0x10014f02
mov eax, eax
jne 0x10014f02
mov eax, dword [eax]
jg 0x1000dcd2
nop
jle 0x1000dcd2
mov eax, dword [ebp - 4]
call fcn.1000f3be
wait
adc byte [esi + ecx - 0x18], dh
mov ecx, dword [eax]
test cx, 0
js 0x10018ae5
xor ecx, 0xead8657b
test ch, 0
js 0x10018031
cmp ecx, 0xead8202b
call fcn.1000ed36
loop 0x10012ad0
test eax, 0x548be8e4
and al, 4
jmp 0x10012549
xchg ebp, eax
add bl, byte [eax - 0x3d]
mov eax, dword [esp]
mov dword fs:[0x110], eax
call int.10015ae1
invalid
test eax, 0x8b0f0000
lahf
and dword [eax], eax
add byte [ebx + 0x76ff0cc4], al
or al, 0xe8
and ah, dh
invalid
jb 0x10013ca4
and dword [ebp - 4], 0
test ah, 0
jb 0x10012f39
add eax, ebx
test bx, 0
jb 0x100184fb
test ebx, 0x820f0000
pushal
push ebp
add byte [eax], al
add eax, dword [esi + 0x10]
call fcn.10012069
jp 0x10012f7f
and bh, cl
call 0x5923f12d
or edi, edx
ret
ret
fisttp dword [edi]
mov gs, ebx
invalid
mov ebp, esp
call fcn.100190d1
jecxz 0x10013267
ret 0xe820
call fcn.10015a40
leave
lcall 0xbc7f, 0xe8e8619c
invalid
ret
mov ecx, dword [esp + 4]
ja 0x10016b7a
xchg ecx, ecx
jbe 0x10016b7a
cmp dl, 0x2e
jne 0x1000e4d5
jne 0x1001699b
call fcn.1000e365
xor al, 0x48
ret
xor edi, 0x46f07dc3
jb 0x10014772
mov ecx, ecx
jae 0x10014772
mov ecx, dword [ecx]
jp 0x100115c6
xchg sp, sp
jnp 0x100115c6
mov edx, dword [esp + 4]
jmp 0x1001905a
ret
test dword [eax + 0x23], ecx
add byte [eax], al
push dword [ebp + 8]
jne 0x10013778
lea eax, [esi + 0xfff]
push 0x20
call fcn.1000e5b7
insb byte es:[edi], dx
and eax, 0x8be833bf
jl 0x100137a9
add al, 0xf
mov byte [ebx - 0x6c], dl
invalid
push eax
add byte [eax], al
ret
add byte [ecx - 0x17c25e27], dh
push ebx
push esi
dec esp
js 0x1001395b
leave
and byte [eax], al
add dl, cl
xchg edx, eax
pushfd
popal
call 0xffca9a5
jmp [ecx]
ret
add dword [esp + 8], ecx
jmp 0x10016a08
adc eax, 0x100241eb
pop edi
pop eax
mov word [edi], ax
call fcn.100193a9
push ss
int1
les eax, [eax + 0x42b268e8]
add dl, byte [eax]
call fcn.1001279a
xlatb
scasb al, byte es:[edi]
pop ecx
int3
call fcn.10015bae
jle 0x10013e7f
push ebx
call dword [0x10024088]
call fcn.1000e9f7
mov eax, edi
daa
popfd
call 0xeb2533e2
mov word [0x226b840f], ss
add byte [eax], al
xor ebx, 0x158cdb23
je 0x100162d4
mov cx, cx
jne 0x100162d4
sub dword [esp + 8], edi
mov ebp, dword [ebp]
jg 0x10019760
mov ecx, ecx
jle 0x10019760
lds eax, [eax]
test dword [eax - 1], ebp
sub dword [esp + 8], ecx
jg 0x1000f843
mov bh, bh
jle 0x1000f843
sub dword [esp + 8], ebp
jp 0x1001034f
mov esp, esp
jnp 0x1001034f
call fcn.10017ab5
test byte fs:[edx - 0x7277179e], bl
ret
test bh, 0
jb 0x10012f91
xor edx, edx
mov word [eax + ebp - 0x204], dx
push esi
lea eax, [ebp - 0x618]
call fcn.10015bae
push ds
fcmovnbe st(0), st(5)
call 0xf802119f
inc edx
cmp al, byte [eax]
add byte [esi], bl
jnp 0x10014ff7
xchg al, ch
mov eax, dword [esp + 4]
js 0x100121ec
mov bx, bx
jns 0x100121ec
popfd
je 0x10017412
xchg ecx, ecx
jne 0x10017412
call eax
call fcn.10013d49
in eax, 0x7f
test dword [ebx - 0x17a1a018], 0x2506
wait
pushal
sub dword [ebx + 0xc5f6e8], ebx
jo 0x1000d73e
call fcn.1000f07f
mov gs, edi
shr dword [ebx + 0x20840fe8], 0xf2
invalid
popfd
js 0x10010e73
xchg bh, bh
jns 0x10010e73
test ecx, 0
call fcn.1001421d
aaa
push 0x5de80fa5
call fcn.10012828
lcall 0x9ce8, 0xd036
mov ebx, dword [ebx]
jb 0x1000fa85
add ebx, 0x9b28b05c
jp 0x100191a8
mov ch, ch
jnp 0x100191a8
les ecx, [eax + ebp*4]
inc byte [ebx]
xor edi, 0x90488a39
jg 0x100169d5
xor ebp, 0x20c2f4c7
jg 0x100147ec
call 0xfd8d5f95
mov ebp, ebp
jle 0x100147ec
jo 0x1001404c
add esp, 0x28
mov dword [edi + 0x30], eax
jmp 0x1000dff1
test di, 0
call fcn.1001437c
jle 0x10015f91
call 0x3f906f1f
clc
invalid
popfd
jb 0x100173e9
xchg di, di
jae 0x100173e9
call fcn.1000d74a
int3
pushfd
js 0x100121fc
xchg esp, esp
jns 0x100121fc
add dword [esp + 8], ebx
call 0x9810c22c
mov dl, 6
add byte [eax], al
call fcn.10012723
aas
jge 0x1001643f
inc ebp
call 0x10c45c14
add byte [edi], cl
mov byte [edx - 0x7c000084], bh
inc byte [ecx]
call fcn.10017226
pop ds
invalid
pushfd
jg 0x10015b7f
mov ebx, ebx
jle 0x10015b7f
sub ecx, 0x45580fed
ja 0x1001474e
xchg ah, ah
jbe 0x1001474e
call dword [0x10024331]
call fcn.10014bd9
ja 0x10016595
mov bh, 0x6f
call 0x8c24e954
invalid
invalid