Function at 0x10259650
Capabilities:
Encode data using xor
Get disk information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x134
mov eax, dword [0x102dd418]
xor eax, ebp
mov dword [ebp - 4], eax
cmp byte [0x102e2b35], 0
push ebx
push esi
push edi
jne 0x10259976
movzx eax, byte [0x102e2aec]
xor al, 0xfc
mov byte [0x102e2b35], 1
mov byte [ebp - 0x12c], al
movzx eax, byte [0x102e2aed]
xor al, 0xcf
mov dword [ebp - 0x130], 0x1f1f2c1
mov byte [ebp - 0x12b], al
movzx eax, byte [0x102e2aee]
xor al, 0xab
mov word [ebp - 0x134], 0xcffc
mov byte [ebp - 0x12a], al
movzx eax, byte [0x102e2aef]
xor al, 0xfc
mov byte [ebp - 0x132], 0xab
mov byte [ebp - 0x129], al
movzx eax, byte [0x102e2af0]
xor al, 0xcf
mov byte [ebp - 0x128], al
movzx eax, byte [0x102e2af1]
xor al, 0xab
mov byte [ebp - 0x127], al
movzx eax, byte [0x102e2af2]
xor al, 0xfc
mov byte [ebp - 0x126], al
movzx eax, byte [0x102e2af3]
xor al, 0xcf
mov byte [ebp - 0x125], al
movzx eax, byte [0x102e2af4]
xor al, 0xab
mov byte [ebp - 0x124], al
movzx eax, byte [0x102e2af5]
xor al, 0xfc
xor esi, esi
mov byte [ebp - 0x123], al
lea ebx, [esi + 3]
lea edi, [esi + 2]
mov eax, 0xaaaaaaab
mov ecx, esi
mul esi
shr edx, 1
lea eax, [edx + edx*2]
sub ecx, eax
movzx eax, byte [ebp + ecx - 0x134]
lea ecx, [edi - 1]
xor al, byte [esi + 0x102e2af7]
mov byte [ebp + esi - 0x122], al
mov eax, 0xaaaaaaab
mul ecx
mov ecx, esi
shr edx, 1
lea eax, [edx + edx*2]
sub ecx, eax
movzx eax, byte [ebp + ecx - 0x133]
mov ecx, esi
xor al, byte [esi + 0x102e2af8]
mov byte [ebp + esi - 0x121], al
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
lea eax, [edx + edx*2]
sub ecx, eax
movzx eax, byte [ebp + ecx - 0x132]
mov ecx, esi
xor al, byte [edi + 0x102e2af7]
add edi, 5
mov byte [ebp + ebx - 0x123], al
mov eax, 0xaaaaaaab
mul ebx
add ebx, 5
shr edx, 1
lea eax, [edx + edx*2]
sub ecx, eax
movzx eax, byte [ebp + ecx - 0x131]
lea ecx, [esi + 4]
xor al, byte [esi + 0x102e2afa]
mov byte [ebp + esi - 0x11f], al
mov eax, 0xaaaaaaab
mul ecx
mov ecx, esi
shr edx, 1
lea eax, [edx + edx*2]
sub ecx, eax
movzx eax, byte [ebp + ecx - 0x130]
xor al, byte [esi + 0x102e2afb]
mov byte [ebp + esi - 0x11e], al
add esi, 5
cmp edi, 0x16
jl 0x10259732
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x10e], eax
movzx eax, byte [0x1826e38]
dec al
mov byte [ebp - 0x10a], al
movzx eax, byte [0x1826e39]
sub al, 2
mov byte [ebp - 0x109], al
movzx eax, byte [0x1826e3a]
sub al, 3
mov byte [ebp - 0x108], al
movzx eax, byte [0x1826e3b]
sub al, 4
mov byte [ebp - 0x107], al
movzx eax, byte [0x1826e3c]
sub al, 5
mov byte [ebp - 0x106], al
mov ecx, ecx
mov ebx, ebx
mov ecx, ecx
mov edi, edi
mov ecx, ecx
mov eax, eax
mov ecx, ecx
mov esi, esi
mov ecx, ecx
lea eax, [ebp - 0x24]
call fcn.100121e2
push eax
call fcn.1000aba0
movups xmm0, xmmword [ebp - 0x24]
add esp, 8
movups xmmword [ebp - 0x105], xmm0
mov ecx, ecx
mov edi, edi
mov edi, edi
mov edx, edx
mov edx, edx
mov esi, esi
mov eax, eax
mov eax, eax
mov ebx, ebx
xorps xmm0, xmm0
mov word [ebp - 0xe4], 0
lea eax, [ebp - 0x34]
mov byte [ebp - 0xf5], 0
movups xmmword [ebp - 0xf4], xmm0
push eax
movups xmmword [ebp - 0xf4], xmm0
mov byte [ebp - 0xe4], 0
call dword [sym.imp.RPCRT4.dll_UuidCreateSequential]
movzx eax, byte [ebp - 0x25]
push eax
movzx eax, byte [ebp - 0x26]
push eax
movzx eax, byte [ebp - 0x27]
push eax
movzx eax, byte [ebp - 0x28]
push eax
movzx eax, byte [ebp - 0x29]
push eax
movzx eax, byte [ebp - 0x2a]
push eax
lea eax, [ebp - 0xf4]
push str._02X:_02X:_02X:_02X:_02X:_02X
push eax
call fcn.100092d0
add esp, 0x20
mov dword [ebp - 0x134], 0
lea eax, [ebp - 0x134]
push 0xff
push 0
push 0
push 0
push eax
push 0xff
push 0
push 0x102d887c
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationA]
push dword [0x102e1f4c]
neg eax
push dword [0x102e1f48]
sbb eax, eax
and eax, dword [ebp - 0x134]
push 0x102d8894
mov dword [ebp - 0x134], eax
mov dword [ebp - 0xe2], eax
lea eax, [ebp - 0xde]
push 0xffffffffffffffff
push eax
call fcn.1000abc0
movzx edx, byte [ebp - 0x12f]
lea ecx, [ebp - 0x130]
add esp, 0x14
call fcn.10258aa0
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1029971f
mov esp, ebp
pop ebp
ret