Function at 0x100460b0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
movaps xmm0, xmmword [0x101dc0b0]
movd eax, xmm0
movups xmmword [ebp - 0x24], xmm0
push esi
movups xmm1, xmmword [0x10406a00]
mov esi, ecx
mov dword [ebp - 0x14], 0xf5f9e5
mov byte [ebp - 0x10], 1
mov ecx, 0x10
movd xmm0, eax
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm0, xmmword [0x101dc070]
andps xmm0, xmm1
packuswb xmm0, xmm0
packuswb xmm0, xmm0
movd dword [ebp - 0x24], xmm0
movd xmm0, dword [ebp - 0x20]
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm0, xmmword [0x101dc080]
andps xmm0, xmm1
packuswb xmm0, xmm0
packuswb xmm0, xmm0
movd dword [ebp - 0x20], xmm0
movd xmm0, dword [ebp - 0x1c]
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm0, xmmword [0x101dc090]
andps xmm0, xmm1
packuswb xmm0, xmm0
packuswb xmm0, xmm0
movd dword [ebp - 0x1c], xmm0
movd xmm0, dword [ebp - 0x18]
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm0, xmmword [0x101dc0a0]
andps xmm0, xmm1
packuswb xmm0, xmm0
packuswb xmm0, xmm0
movd dword [ebp - 0x18], xmm0
lea eax, [ecx + 0x7a]
xor byte [ebp + ecx - 0x24], al
inc ecx
cmp ecx, 0x13
jb 0x10046182
mov byte [ebp - 0x10], 0
xor ecx, ecx
mov dword [ebp - 0xc], 0x11180f14
mov dword [ebp - 8], 0xede45112
mov word [ebp - 4], 0xee
mov byte [ebp - 2], 1
nop dword [eax]
lea eax, [ecx + 0x7a]
xor byte [ebp + ecx - 0xc], al
inc ecx
cmp ecx, 9
jb 0x100461b0
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea eax, [ebp - 0xc]
push eax
mov byte [ebp - 2], 0
call edi
lea ecx, [ebp - 0x24]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
movaps xmm0, xmmword [0x101dc0e0]
mov ecx, 0x10
movups xmmword [ebp - 0x28], xmm0
mov dword [esi + 8], eax
movd eax, xmm0
movups xmm1, xmmword [0x10406a00]
mov dword [ebp - 0x18], 0xf4fee4e7
mov word [ebp - 0x14], 0x100
movd xmm0, eax
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm0, xmmword [0x101dc070]
andps xmm0, xmm1
packuswb xmm0, xmm0
packuswb xmm0, xmm0
movd dword [ebp - 0x28], xmm0
movd xmm0, dword [ebp - 0x24]
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm0, xmmword [0x101dc080]
andps xmm0, xmm1
packuswb xmm0, xmm0
packuswb xmm0, xmm0
movd dword [ebp - 0x24], xmm0
movd xmm0, dword [ebp - 0x20]
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm0, xmmword [0x101dc090]
andps xmm0, xmm1
packuswb xmm0, xmm0
packuswb xmm0, xmm0
movd dword [ebp - 0x20], xmm0
movd xmm0, dword [ebp - 0x1c]
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm0, xmmword [0x101dc0a0]
andps xmm0, xmm1
packuswb xmm0, xmm0
packuswb xmm0, xmm0
movd dword [ebp - 0x1c], xmm0
lea eax, [ecx + 0x7a]
xor byte [ebp + ecx - 0x28], al
inc ecx
cmp ecx, 0x14
jb 0x100462a7
mov byte [ebp - 0x13], 0
xor ecx, ecx
mov dword [ebp - 0xc], 0x11180f14
mov dword [ebp - 8], 0xede45112
mov word [ebp - 4], 0xee
mov byte [ebp - 2], 1
lea eax, [ecx + 0x7a]
xor byte [ebp + ecx - 0xc], al
inc ecx
cmp ecx, 9
jb 0x100462d2
lea eax, [ebp - 0xc]
mov byte [ebp - 2], 0
push eax
call edi
lea ecx, [ebp - 0x28]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
movaps xmm0, xmmword [0x101dc0c0]
mov ecx, 0x10
movups xmmword [ebp - 0x28], xmm0
mov dword [esi + 0xc], eax
movd eax, xmm0
movups xmm1, xmmword [0x10406a00]
mov dword [ebp - 0x18], 0xe2e1eec7
mov dword [ebp - 0x14], 0x100f6fc
movd xmm0, eax
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm0, xmmword [0x101dc070]
andps xmm0, xmm1
packuswb xmm0, xmm0
packuswb xmm0, xmm0
movd dword [ebp - 0x28], xmm0
movd xmm0, dword [ebp - 0x24]
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm0, xmmword [0x101dc080]
andps xmm0, xmm1
packuswb xmm0, xmm0
packuswb xmm0, xmm0
movd dword [ebp - 0x24], xmm0
movd xmm0, dword [ebp - 0x20]
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm0, xmmword [0x101dc090]
andps xmm0, xmm1
packuswb xmm0, xmm0
packuswb xmm0, xmm0
movd dword [ebp - 0x20], xmm0
movd xmm0, dword [ebp - 0x1c]
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm0, xmmword [0x101dc0a0]
andps xmm0, xmm1
packuswb xmm0, xmm0
packuswb xmm0, xmm0
movd dword [ebp - 0x1c], xmm0
lea eax, [ecx + 0x7a]
xor byte [ebp + ecx - 0x28], al
inc ecx
cmp ecx, 0x16
jb 0x100463c3
mov byte [ebp - 0x11], 0
xor ecx, ecx
mov dword [ebp - 0xc], 0x11180f14
mov dword [ebp - 8], 0xede45112
mov word [ebp - 4], 0xee
mov byte [ebp - 2], 1
nop
lea eax, [ecx + 0x7a]
xor byte [ebp + ecx - 0xc], al
inc ecx
cmp ecx, 9
jb 0x100463f0
lea eax, [ebp - 0xc]
mov byte [ebp - 2], 0
push eax
call edi
lea ecx, [ebp - 0x28]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
movaps xmm0, xmmword [0x101dc0d0]
mov ecx, 0x10
movups xmmword [ebp - 0x28], xmm0
mov dword [esi + 0x14], eax
movd eax, xmm0
movups xmm1, xmmword [0x10406a00]
mov dword [ebp - 0x18], 0xe0e9c6e6
mov dword [ebp - 0x14], 0xe9fde1
mov byte [ebp - 0x10], 1
movd xmm0, eax
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm0, xmmword [0x101dc070]
andps xmm0, xmm1
packuswb xmm0, xmm0
packuswb xmm0, xmm0
movd dword [ebp - 0x28], xmm0
movd xmm0, dword [ebp - 0x24]
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm0, xmmword [0x101dc080]
andps xmm0, xmm1
packuswb xmm0, xmm0
packuswb xmm0, xmm0
movd dword [ebp - 0x24], xmm0
movd xmm0, dword [ebp - 0x20]
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm0, xmmword [0x101dc090]
andps xmm0, xmm1
packuswb xmm0, xmm0
packuswb xmm0, xmm0
movd dword [ebp - 0x20], xmm0
movd xmm0, dword [ebp - 0x1c]
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm0, xmmword [0x101dc0a0]
andps xmm0, xmm1
packuswb xmm0, xmm0
packuswb xmm0, xmm0
movd dword [ebp - 0x1c], xmm0
lea eax, [ecx + 0x7a]
xor byte [ebp + ecx - 0x28], al
inc ecx
cmp ecx, 0x17
jb 0x100464e5
mov byte [ebp - 0x10], 0
xor eax, eax
mov dword [ebp - 0xc], 0x11180f14
mov dword [ebp - 8], 0xede45112
mov word [ebp - 4], 0xee
mov byte [ebp - 2], 1
lea ecx, [eax + 0x7a]
xor byte [ebp + eax - 0xc], cl
inc eax
cmp eax, 9
jb 0x10046510
lea eax, [ebp - 0xc]
mov byte [ebp - 2], 0
push eax
call edi
lea ecx, [ebp - 0x28]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x10], eax
pop edi
test eax, eax
je 0x10046552
cmp dword [esi + 0x14], 0
je 0x10046552
cmp dword [esi + 8], 0
je 0x10046552
cmp dword [esi + 0xc], 0
pop esi
setne al
mov esp, ebp
pop ebp
ret
xor al, al
pop esi
mov esp, ebp
pop ebp
ret