Function at 0x413790
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x28d9f8d
mov eax, dword fs:[0]
push eax
sub esp, 0x32c
mov eax, dword [0x28f6124]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 4], 0
xor eax, eax
mov dword [ebp - 0xa0], 0x577a0555
mov dword [ebp - 0x9c], 0x1b712499
mov dword [ebp - 0x98], 0x85e3f6a2
mov byte [ebp - 0x94], 0
nop dword [eax + eax]
mov dl, al
mov cl, al
sub dl, byte [ebp + eax - 0xa0]
mov dh, 6
xor dl, 0x9f
add dl, 0x69
not dl
sub dl, al
xor dl, 0x44
sub cl, dl
mov dl, al
xor cl, 0xaf
sub dl, cl
movzx ecx, al
ror dl, 1
sub dl, al
imul ecx, ecx, 0xfe
xor dl, al
not dl
add dl, 0x1a
ror dl, 2
sub dl, 0x57
xor dl, al
sub dh, dl
mov dl, 0x7d
rol dh, 1
add dh, al
neg dh
xor dh, al
add dh, al
xor dh, 9
sub cl, dh
not cl
add cl, al
rol cl, 2
not cl
xor cl, al
sub cl, 6
rol cl, 2
xor cl, al
add cl, 0x25
ror cl, 3
sub cl, al
ror cl, 1
sub cl, 0x41
xor cl, al
add cl, 7
ror cl, 3
sub cl, 0x56
xor cl, al
add cl, al
neg cl
xor cl, al
mov dword [ebp - 0x32c], ecx
mov cl, 0x5b
sub cl, byte [ebp - 0x32c]
xor cl, al
sub dl, cl
xor dl, 0x18
sub dl, al
xor dl, al
ror dl, 3
xor dl, 0xe4
add dl, 0x43
not dl
sub dl, al
xor dl, 0xb6
sub dl, al
ror dl, 2
mov byte [ebp + eax - 0xa0], dl
inc eax
cmp eax, 0xd
jb 0x4137f0
movq xmm1, qword [ebp - 0xa0]
xorps xmm0, xmm0
punpcklbw xmm1, xmm0
mov ecx, 8
movups xmmword [ebp - 0x90], xmm1
nop
movzx eax, byte [ebp + ecx - 0xa0]
mov word [ebp + ecx*2 - 0x90], ax
inc ecx
cmp ecx, 0xd
jb 0x4138d0
xor edi, edi
xor eax, eax
push edi
push 2
mov word [ebp - 0x76], ax
call dword [0x28e10b8]
mov esi, eax
cmp esi, 0xffffffff
je 0x413b84
push 0x228
lea eax, [ebp - 0x324]
mov dword [ebp - 0x328], 0x22c
push edi
push eax
call fcn.0042bf70
add esp, 0xc
lea eax, [ebp - 0x328]
push eax
push esi
call dword [0x28e106c]
test eax, eax
je 0x41396e
mov edi, dword [0x28e1064]
nop dword [eax]
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0x304]
push eax
call fcn.0042ec27
add esp, 8
test eax, eax
je 0x413b79
lea eax, [ebp - 0x328]
push eax
push esi
call edi
test eax, eax
jne 0x413940
xor edi, edi
push esi
call dword [0x28e1070]
test edi, edi
je 0x413b84
xorps xmm0, xmm0
mov dword [ebp - 0x330], 0
push edi
push 1
push 0x1000
mov dword [ebp - 0x32c], 0
movlpd qword [ebp - 0xf8], xmm0
movlpd qword [ebp - 0xf0], xmm0
movlpd qword [ebp - 0xe8], xmm0
movlpd qword [ebp - 0xe0], xmm0
movlpd qword [ebp - 0xd8], xmm0
movlpd qword [ebp - 0xd0], xmm0
movlpd qword [ebp - 0xc8], xmm0
movlpd qword [ebp - 0xc0], xmm0
movups xmmword [ebp - 0xa0], xmm0
mov dword [ebp - 0xfc], 0x44
call dword [0x28e10bc]
lea ecx, [ebp - 0x330]
push ecx
push 0x2000000
push eax
call dword [0x28e1030]
push dword [ebp - 0x330]
call dword [0x28e1028]
call dword [0x28e1084]
test eax, eax
jne 0x413a22
call dword [0x28e1000]
cmp dword [ebp + 0x1c], 0x10
lea edx, [ebp + 8]
mov eax, dword [ebp + 0x18]
lea edi, [ebp + 8]
cmovae edx, dword [ebp + 8]
lea ecx, [ebp - 0xb8]
add eax, edx
mov dword [ebp - 0xb8], 0
cmp dword [ebp + 0x1c], 0x10
mov dword [ebp - 0x338], eax
cmovae edi, dword [ebp + 8]
sub eax, edi
mov dword [ebp - 0xa8], 0
push eax
mov dword [ebp - 0xa4], 7
call fcn.00426b90
mov byte [ebp - 0x334], 0
lea ecx, [ebp - 0xb8]
push dword [ebp - 0x334]
push dword [ebp - 0x338]
push edi
call fcn.00426f30
lea eax, [ebp - 0x32c]
push eax
push 1
push 2
push 0
push 0x2000000
push dword [ebp - 0x330]
call dword [0x28e103c]
cmp dword [ebp - 0xa4], 8
lea ecx, [ebp - 0xa0]
push ecx
lea ecx, [ebp - 0xfc]
push ecx
push 0
push 0
push 0x8000000
push 0
lea eax, [ebp - 0xb8]
cmovae eax, dword [ebp - 0xb8]
push eax
push 1
push dword [ebp - 0x32c]
call dword [0x28e1020]
mov edx, dword [ebp - 0xa4]
cmp edx, 8
jb 0x413b28
mov ecx, dword [ebp - 0xb8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x413b1e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413bd4
push edx
push ecx
call fcn.0042a957
add esp, 8
mov edx, dword [ebp + 0x1c]
xor eax, eax
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 7
mov word [ebp - 0xb8], ax
cmp edx, 0x10
jb 0x413b75
mov ecx, dword [ebp + 8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x413b6b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413bd4
push edx
push ecx
call fcn.0042a957
add esp, 8
xor eax, eax
jmp 0x413bb9
mov edi, dword [ebp - 0x320]
jmp 0x41396e
mov edx, dword [ebp + 0x1c]
cmp edx, 0x10
jb 0x413bb4
mov ecx, dword [ebp + 8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x413baa
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413bd4
push edx
push ecx
call fcn.0042a957
add esp, 8
mov eax, 1
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.0042a2e1
mov esp, ebp
pop ebp
ret
call fcn.0042f94a
int3