Function at 0x411520
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4e39ee
mov eax, dword fs:[0]
push eax
sub esp, 0x11c
mov eax, dword [0x52610c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x124], esi
mov dword [ebp - 0x128], esi
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
mov dword [ebp - 4], 0
mov dl, 0x75
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov dword [esi], 0
mov dword [ebp - 0x84], 0x1c141d75
mov dword [ebp - 0x80], 0x14141d06
mov dword [ebp - 0x7c], 0x165b0505
mov word [ebp - 0x78], 0x181a
mov byte [ebp - 0x76], 0
mov byte [ebp - 4], 1
xor ecx, ecx
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x83]
xor al, dl
mov byte [ebp + ecx - 0x75], al
inc ecx
cmp ecx, 0xd
jae 0x4115db
mov dl, byte [ebp - 0x84]
jmp 0x4115c0
cmp byte [ebp - 0x75], 0
mov byte [ebp - 0x68], 0
mov dword [ebp - 0x10c], 0xf
mov dword [ebp - 0x110], 0
mov byte [ebp - 0x120], 0
jne 0x411604
xor ecx, ecx
jmp 0x411619
lea ecx, [ebp - 0x75]
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x411610
sub ecx, edx
push ecx
lea eax, [ebp - 0x75]
push eax
lea ecx, [ebp - 0x120]
call fcn.00409af0
xorps xmm0, xmm0
mov dword [ebp - 0x7b], 0
movq qword [ebp - 0x83], xmm0
mov dl, 0x2e
mov word [ebp - 0x77], 0
mov dword [ebp - 0x64], 0x475b5a2e
mov dword [ebp - 0x60], 0x574f425e
mov dword [ebp - 0x5c], 0x43414d00
mov byte [ebp - 0x58], 0
mov byte [ebp - 4], 4
xor ecx, ecx
mov al, byte [ebp + ecx - 0x63]
xor al, dl
mov byte [ebp + ecx - 0x57], al
inc ecx
cmp ecx, 0xb
jae 0x411677
mov dl, byte [ebp - 0x64]
jmp 0x411662
cmp byte [ebp - 0x57], 0
mov byte [ebp - 0x4c], 0
mov dword [ebp - 0xf4], 0xf
mov dword [ebp - 0xf8], 0
mov byte [ebp - 0x108], 0
jne 0x4116a0
xor ecx, ecx
jmp 0x4116af
lea ecx, [ebp - 0x57]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4116a6
sub ecx, edx
push ecx
lea eax, [ebp - 0x57]
push eax
lea ecx, [ebp - 0x108]
call fcn.00409af0
xorps xmm0, xmm0
mov dword [ebp - 0x5b], 0
movq qword [ebp - 0x63], xmm0
movaps xmm0, xmmword [0x50cb70]
movups xmmword [ebp - 0xa8], xmm0
mov byte [ebp - 0x98], 0
mov byte [ebp - 4], 7
xor ecx, ecx
nop dword [eax]
mov al, byte [ebp + ecx - 0xa7]
xor al, byte [ebp - 0xa8]
mov byte [ebp + ecx - 0x97], al
mov al, byte [ebp + ecx - 0xa6]
xor al, byte [ebp - 0xa8]
mov byte [ebp + ecx - 0x96], al
mov al, byte [ebp + ecx - 0xa5]
xor al, byte [ebp - 0xa8]
mov byte [ebp + ecx - 0x95], al
mov al, byte [ebp + ecx - 0xa4]
xor al, byte [ebp - 0xa8]
mov byte [ebp + ecx - 0x94], al
mov al, byte [ebp + ecx - 0xa3]
xor al, byte [ebp - 0xa8]
mov byte [ebp + ecx - 0x93], al
add ecx, 5
cmp ecx, 0xf
jb 0x4116f0
cmp byte [ebp - 0x97], 0
mov byte [ebp - 0x88], 0
mov dword [ebp - 0xdc], 0xf
mov dword [ebp - 0xe0], 0
mov byte [ebp - 0xf0], 0
jne 0x41178b
xor ecx, ecx
jmp 0x41179d
lea ecx, [ebp - 0x97]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x411794
sub ecx, edx
push ecx
lea eax, [ebp - 0x97]
push eax
lea ecx, [ebp - 0xf0]
call fcn.00409af0
xorps xmm0, xmm0
mov dword [ebp - 0x48], 0x762d2d14
mov al, 0x2d
mov dword [ebp - 0x44], 0x773a6c7b
movups xmmword [ebp - 0xa7], xmm0
mov dl, 0x14
mov word [ebp - 0x40], 0x797b
mov ah, al
mov byte [ebp - 0x3e], 0
mov ch, 0x76
mov dh, 0x7b
mov byte [ebp - 4], 0xa
mov cl, dl
xor cl, al
mov byte [ebp - 0x34], 0
mov al, dl
mov byte [ebp - 0x3d], cl
xor al, ah
mov dword [ebp - 0xc4], 0xf
mov byte [ebp - 0x3c], al
mov al, dl
xor al, ch
mov dword [ebp - 0xc8], 0
mov byte [ebp - 0x3b], al
mov al, dl
xor al, dh
mov byte [ebp - 0xd8], 0
mov byte [ebp - 0x3a], al
mov al, dl
xor al, byte [ebp - 0x43]
mov byte [ebp - 0x39], al
mov al, dl
xor al, byte [ebp - 0x42]
mov byte [ebp - 0x38], al
mov al, dl
xor al, byte [ebp - 0x41]
mov byte [ebp - 0x37], al
mov al, dl
xor al, byte [ebp - 0x40]
xor dl, byte [ebp - 0x3f]
mov byte [ebp - 0x36], al
mov byte [ebp - 0x35], dl
test cl, cl
jne 0x411849
xor ecx, ecx
jmp 0x411859
lea ecx, [ebp - 0x3d]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x411850
sub ecx, edx
push ecx
lea eax, [ebp - 0x3d]
push eax
lea ecx, [ebp - 0xd8]
call fcn.00409af0
xorps xmm0, xmm0
mov word [ebp - 0x3f], 0
movq qword [ebp - 0x47], xmm0
mov dl, 0x70
mov dword [ebp - 0x30], 0x18050a70
mov dword [ebp - 0x2c], 0x11181f11
mov dword [ebp - 0x28], 0x1f135e1f
mov word [ebp - 0x24], 0x1d
mov byte [ebp - 4], 0xd
xor ecx, ecx
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x2f]
xor al, dl
mov byte [ebp + ecx - 0x22], al
mov al, byte [ebp + ecx - 0x2e]
xor al, byte [ebp - 0x30]
mov byte [ebp + ecx - 0x21], al
mov al, byte [ebp + ecx - 0x2d]
xor al, byte [ebp - 0x30]
mov byte [ebp + ecx - 0x20], al
mov al, byte [ebp + ecx - 0x2c]
xor al, byte [ebp - 0x30]
mov byte [ebp + ecx - 0x1f], al
mov al, byte [ebp + ecx - 0x2b]
xor al, byte [ebp - 0x30]
mov byte [ebp + ecx - 0x1e], al
mov al, byte [ebp + ecx - 0x2a]
xor al, byte [ebp - 0x30]
mov byte [ebp + ecx - 0x1d], al
add ecx, 6
cmp ecx, 0xc
jae 0x4118ee
mov dl, byte [ebp - 0x30]
jmp 0x4118a0
cmp byte [ebp - 0x22], 0
mov byte [ebp - 0x16], 0
mov dword [ebp - 0xac], 0xf
mov dword [ebp - 0xb0], 0
mov byte [ebp - 0xc0], 0
jne 0x411917
xor ecx, ecx
jmp 0x411929
lea ecx, [ebp - 0x22]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x411920
sub ecx, edx
push ecx
lea eax, [ebp - 0x22]
push eax
lea ecx, [ebp - 0xc0]
call fcn.00409af0
xorps xmm0, xmm0
mov dword [ebp - 0x27], 0
movq qword [ebp - 0x2f], xmm0
mov byte [ebp - 0x23], 0
mov byte [ebp - 4], 0xe
push dword [ebp - 0x128]
mov edx, dword [esi + 8]
push ecx
mov ecx, dword [esi + 4]
call fcn.004140c0
mov eax, dword [esi + 4]
lea ecx, [esi + 4]
add esp, 8
mov dword [esi + 8], eax
mov byte [ebp - 0x124], 0
lea eax, [ebp - 0xa8]
push dword [ebp - 0x124]
push eax
lea eax, [ebp - 0x120]
push eax
call fcn.00413600
push fcn.004095a0
push 5
push 0x18
lea eax, [ebp - 0x120]
mov byte [ebp - 4], 0
push eax
call fcn.004a0a82
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004a0525
mov esp, ebp
pop ebp
ret 8