Function at 0x100102d0
Capabilities:
Create new key via cryptacquirecontext
Encode data using xor
Encrypt data using rc4 via winapi
Hash data using sha1
Hash data using sha1 via wincrypt
Hash data via wincrypt
Initialize hashing via wincrypt
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x40
movaps xmm0, xmmword [0x1006ff90]
xor ecx, ecx
movups xmmword [ebp - 0x34], xmm0
push esi
movaps xmm0, xmmword [0x1006ffd0]
movups xmmword [ebp - 0x24], xmm0
push edi
movaps xmm0, xmmword [0x1006f260]
movups xmmword [ebp - 0x14], xmm0
nop dword [eax + eax]
mov al, byte [ebp - 0x34]
xor byte [ebp + ecx - 0x33], al
inc ecx
cmp ecx, 0x2e
jb 0x10010300
push 0
push 1
lea eax, [ebp - 0x33]
mov byte [ebp - 5], 0
push eax
push 0
push 0x1007a298
call dword [sym.imp.ADVAPI32.dll_CryptAcquireContextA]
mov esi, dword [sym.imp.KERNEL32.dll_TerminateProcess]
mov edi, dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
test eax, eax
jne 0x10010390
movaps xmm0, xmmword [0x1006fce0]
xor ecx, ecx
movups xmmword [ebp - 0x34], xmm0
movaps xmm0, xmmword [0x1006fca0]
movups xmmword [ebp - 0x24], xmm0
movaps xmm0, xmmword [0x1006f0f0]
movups xmmword [ebp - 0x14], xmm0
nop dword [eax]
mov al, byte [ebp - 0x34]
xor byte [ebp + ecx - 0x33], al
inc ecx
cmp ecx, 0x2e
jb 0x10010360
push 8
push 1
lea eax, [ebp - 0x33]
mov byte [ebp - 5], 0
push eax
push 0
push 0x1007a298
call dword [sym.imp.ADVAPI32.dll_CryptAcquireContextA]
test eax, eax
jne 0x10010390
push eax
call edi
push eax
call esi
push 0x1007a294
push 0
push 0
push 0x8004
push dword [0x1007a298]
call dword [sym.imp.ADVAPI32.dll_CryptCreateHash]
test eax, eax
jne 0x100103b4
push eax
call edi
push eax
call esi
movaps xmm0, xmmword [0x1006f7a0]
xor ecx, ecx
movups xmmword [ebp - 0x40], xmm0
mov dword [ebp - 0x10], 0x3a623433
movaps xmm0, xmmword [0x1006ff60]
movups xmmword [ebp - 0x30], xmm0
mov dword [ebp - 0xc], 0x30662012
movaps xmm0, xmmword [0x10070260]
movups xmmword [ebp - 0x20], xmm0
mov dword [ebp - 8], 0x73222807
mov word [ebp - 4], 0x2f
mov al, byte [ebp - 0x40]
xor byte [ebp + ecx - 0x3f], al
inc ecx
cmp ecx, 0x3c
jb 0x100103f2
push 1
push 0x3c
lea eax, [ebp - 0x3f]
mov byte [ebp - 3], 0
push eax
push dword [0x1007a294]
call dword [sym.imp.ADVAPI32.dll_CryptHashData]
test eax, eax
jne 0x10010421
push eax
call edi
push eax
call esi
push 0x1007a290
push 0x800000
push dword [0x1007a294]
push 0x6801
push dword [0x1007a298]
call dword [sym.imp.ADVAPI32.dll_CryptDeriveKey]
test eax, eax
jne 0x1001044c
push eax
call edi
push eax
call esi
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [0x1007a28c], eax
call fcn.10061cb0
mov esi, dword [sym.imp.KERNEL32.dll_GetCurrentThread]
call esi
push eax
call fcn.10062180
push 0x1000fc00
push 0x1007a29c
call fcn.100619c0
call fcn.10061d10
mov edi, dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
push 4
push 0x8f5430
call edi
test eax, eax
jne 0x100104bc
mov dword [0x1007a29c], 0x8f5430
call fcn.10061cb0
call esi
push eax
call fcn.10062180
push 0x1000fc00
push 0x1007a29c
call fcn.10061530
call fcn.10061d10
call fcn.10061cb0
call esi
push eax
call fcn.10062180
push 0x10010120
push 0x1007a288
call fcn.100619c0
call fcn.10061d10
push 4
push 0x450890
call edi
test eax, eax
jne 0x10010515
mov dword [0x1007a288], 0x450890
call fcn.10061cb0
call esi
push eax
call fcn.10062180
push 0x10010120
push 0x1007a288
call fcn.10061530
call fcn.10061d10
call fcn.10061cb0
call esi
push eax
call fcn.10062180
push 0x100101d0
push 0x1007a284
call fcn.100619c0
call fcn.10061d10
push 4
push 0x4504c0
call edi
test eax, eax
jne 0x1001056e
mov dword [0x1007a284], 0x4504c0
call fcn.10061cb0
call esi
push eax
call fcn.10062180
push 0x100101d0
push 0x1007a284
call fcn.10061530
call fcn.10061d10
pop edi
pop esi
mov esp, ebp
pop ebp
ret