Function at 0x4a096b
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x84
push ebx
push ebp
push esi
push edi
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [0x65a600]
and dword [eax + 0x20], 0
call fcn.00497c24
call fcn.00499fe1
cmp dword [0x65a6c0], 0xf
mov ecx, 0x65a6ac
push 0x80e2
cmova ecx, dword [0x65a6ac]
xor edx, edx
call fcn.004c503f
pop ecx
push dword [esp + 0x14]
push ecx
lea ecx, [esp + 0x54]
call fcn.004a5501
push ecx
push 0x10
lea ecx, [esp + 0x3c]
mov esi, eax
call fcn.004a2831
push 7
xor edx, edx
pop edi
mov ax, word [edx + esi + 2]
xor ax, word [esi]
cmp dword [esp + 0x48], edi
movzx ecx, ax
lea eax, [esp + 0x34]
cmova eax, dword [esp + 0x34]
mov word [edx + eax], cx
add edx, 2
cmp edx, 0x20
jb 0x4a09d1
cmp dword [esp + 0x48], edi
lea ecx, [esp + 0x34]
cmova ecx, dword [esp + 0x34]
call fcn.004ac971
lea ecx, [esp + 0x34]
mov bl, al
call fcn.004a2dca
test bl, bl
je 0x4a108e
mov eax, dword [0x65a600]
mov eax, dword [eax + 0x3e48]
mov ecx, dword [eax + 0x14]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
call fcn.004c77dc
mov esi, eax
call fcn.004c0d5c
call fcn.004c0d79
movss xmm2, dword [esp + 0x14]
lea ecx, [esp + 0x70]
movss xmm1, dword [esp + 0x18]
movaps xmm0, xmm2
xorps xmm3, xmm3
addss xmm0, xmm3
movss dword [esp + 0x24], xmm0
movaps xmm0, xmm1
addss xmm0, xmm3
movss dword [esp + 0x28], xmm0
movss xmm0, dword [0x50e2d8]
addss xmm2, xmm0
addss xmm1, xmm0
movaps xmm0, xmmword [0x50e5a0]
movups xmmword [esp + 0x70], xmm0
movaps xmm0, xmmword [0x50e540]
movups xmmword [esp + 0x80], xmm0
movaps xmm0, xmmword [0x50e590]
movups xmmword [esp + 0x4c], xmm0
movaps xmm0, xmmword [0x50e540]
movss dword [esp + 0x14], xmm2
movss dword [esp + 0x18], xmm1
movups xmmword [esp + 0x34], xmm0
call fcn.004bdbd0
push eax
lea ecx, [esp + 0x84]
call fcn.004bdbd0
push eax
lea ecx, [esp + 0x54]
call fcn.004bdbd0
push eax
lea ecx, [esp + 0x40]
call fcn.004bdbd0
push eax
lea eax, [esp + 0x24]
mov ecx, esi
push eax
lea eax, [esp + 0x38]
push eax
call fcn.004d88bb
call fcn.0049609c
movss xmm1, dword [0x50e180]
xor ecx, ecx
call fcn.004beb97
xor ebx, ebx
mov dword [esp + 0x24], 0x43eb0000
push ebx
push ecx
lea eax, [esp + 0x2c]
mov dword [esp + 0x30], 0x43c80000
xor edx, edx
xor ecx, ecx
push eax
inc edx
call fcn.004c2ab2
add esp, 0xc
mov esi, 0x65b940
push 3
pop ebp
test al, al
je 0x4a0cdc
movss xmm0, dword [0x50e294]
call fcn.004c9a97
push esi
mov ecx, 0x659578
mov dword [esp + 0x28], 0x428c0000
mov dword [esp + 0x2c], 0x420c0000
call fcn.004a64ab
xor edx, edx
mov byte [esp + 0x18], bl
push 0x7e
pop ecx
div ecx
mov ecx, ebx
inc dl
mov al, dl
mov byte [esp + 0x14], dl
xor al, 0xef
mov byte [esp + 0x15], al
mov al, dl
xor al, 0x8e
mov byte [esp + 0x16], al
mov al, dl
xor al, 0x92
mov byte [esp + 0x17], al
mov al, byte [esp + ecx + 0x15]
xor al, dl
mov byte [ecx + 0x65b7e0], al
inc ecx
cmp ecx, ebp
jb 0x4a0b95
push ecx
lea edx, [esp + 0x28]
mov byte [0x65b7e3], bl
mov ecx, 0x65b7e0
call fcn.004e136c
pop ecx
test al, al
je 0x4a0bca
mov dword [0x5160c8], 1
movss xmm1, dword [0x50e328]
xorps xmm0, xmm0
call fcn.004c99b6
push esi
mov ecx, 0x659578
mov dword [esp + 0x28], 0x428c0000
mov dword [esp + 0x2c], 0x420c0000
call fcn.004a64ab
xor edx, edx
mov byte [esp + 0x18], bl
push 0x7e
pop ecx
div ecx
mov ecx, ebx
inc dl
mov al, dl
mov byte [esp + 0x14], dl
xor al, 0xef
mov byte [esp + 0x15], al
mov al, dl
xor al, 0x95
mov byte [esp + 0x16], al
mov al, dl
xor al, 0x84
mov byte [esp + 0x17], al
mov al, byte [esp + ecx + 0x15]
xor al, dl
mov byte [ecx + 0x65b79c], al
inc ecx
cmp ecx, ebp
jb 0x4a0c20
push ecx
lea edx, [esp + 0x28]
mov byte [0x65b79f], bl
mov ecx, 0x65b79c
call fcn.004e136c
pop ecx
test al, al
je 0x4a0c55
mov dword [0x5160c8], 2
movss xmm1, dword [0x50e328]
xorps xmm0, xmm0
call fcn.004c99b6
push esi
mov ecx, 0x659578
mov dword [esp + 0x28], 0x428c0000
mov dword [esp + 0x2c], 0x420c0000
call fcn.004a64ab
xor edx, edx
mov byte [esp + 0x18], bl
push 0x7e
pop ecx
div ecx
mov ecx, ebx
inc dl
mov al, dl
mov byte [esp + 0x14], dl
xor al, 0xef
mov byte [esp + 0x15], al
mov al, dl
xor al, 0x88
mov byte [esp + 0x16], al
mov al, dl
xor al, 0x9b
mov byte [esp + 0x17], al
mov al, byte [esp + ecx + 0x15]
xor al, dl
mov byte [ecx + 0x65b8dc], al
inc ecx
cmp ecx, ebp
jb 0x4a0cab
push ecx
lea edx, [esp + 0x28]
mov byte [0x65b8df], bl
mov ecx, 0x65b8dc
call fcn.004e136c
pop ecx
test al, al
je 0x4a0cdc
mov dword [0x5160c8], ebp
call fcn.004c2cc5
push ebx
push ecx
lea eax, [esp + 0x2c]
mov dword [esp + 0x2c], 0x43eb0000
xor edx, edx
mov dword [esp + 0x30], 0x43c80000
push eax
inc edx
xor ecx, ecx
call fcn.004c2ab2
add esp, 0xc
test al, al
je 0x4a0f76
xorps xmm0, xmm0
call fcn.004c9b05
mov eax, dword [0x5160c8]
cmp eax, 1
jne 0x4a0d29
call fcn.004a9563
jmp 0x4a0f76
cmp eax, 2
jne 0x4a0d52
mov ecx, 0x503dbe
call fcn.004e311c
push str.__________________________Support_Champs
call fcn.004e0ca4
sub esp, 0xc
call fcn.004ed1d6
add esp, 0x10
jmp 0x4a0f76
cmp eax, ebp
jne 0x4a0f6c
push dword [esp + 0x14]
push ecx
lea ecx, [esp + 0x3c]
call fcn.004a55ac
mov edx, ebx
mov cl, byte [edx + eax + 1]
xor cl, byte [eax]
mov byte [edx + 0x65b7a4], cl
inc edx
cmp edx, 0xf
jb 0x4a0d6a
mov ecx, 0x65b7a4
mov byte [0x65b7b3], bl
call fcn.004e311c
push dword [esp + 0x14]
push ecx
lea ecx, [esp + 0x3c]
call fcn.004a562f
push ecx
push edi
lea ecx, [esp + 0x54]
mov esi, eax
call fcn.004a2831
mov edx, ebx
mov ax, word [esi + edx + 2]
xor ax, word [esi]
cmp dword [esp + 0x60], edi
movzx ecx, ax
lea eax, [esp + 0x4c]
cmova eax, dword [esp + 0x4c]
mov word [eax + edx], cx
add edx, 2
cmp edx, 0xe
jb 0x4a0da9
cmp dword [esp + 0x60], edi
lea ecx, [esp + 0x4c]
cmova ecx, dword [esp + 0x4c]
call fcn.004ac971
lea ecx, [esp + 0x4c]
mov bl, al
call fcn.004a2dca
push dword [esp + 0x14]
push ecx
test bl, bl
je 0x4a0e25
lea ecx, [esp + 0x2c]
call fcn.004a5695
xor edx, edx
mov cl, byte [edx + eax + 1]
xor cl, byte [eax]
mov byte [edx + 0x65ccec], cl
inc edx
cmp edx, 0xb
jb 0x4a0dfe
movaps xmm0, xmmword [0x50e610]
mov ebx, 0x65ccec
mov byte [0x65ccf7], 0
jmp 0x4a0e55
lea ecx, [esp + 0x1c]
call fcn.004a5704
xor edx, edx
mov cl, byte [edx + eax + 1]
xor cl, byte [eax]
mov byte [edx + 0x65cd04], cl
inc edx
cmp edx, 0xc
jb 0x4a0e30
movaps xmm0, xmmword [0x50e600]
mov ebx, 0x65cd04
mov byte [0x65cd10], 0
movups xmmword [esp + 0x34], xmm0
lea esi, [esp + 0x34]
lea edi, [esp + 0x4c]
movsd dword es:[edi], dword [esi]
lea edx, [esp + 0x4c]
push 0x15
pop ecx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.004beaff
mov esi, 0x65b940
mov dword [esp + 0x24], 0x41f00000
push esi
mov ecx, 0x659578
mov dword [esp + 0x2c], 0x41f00000
call fcn.004a64ab
xor edx, edx
mov byte [esp + 0x18], 0
push 0x7e
pop edi
div edi
inc dl
mov al, dl
mov byte [esp + 0x14], dl
xor al, 0xef
mov byte [esp + 0x15], al
mov al, dl
xor al, 0x88
mov byte [esp + 0x16], al
mov al, dl
xor al, 0x9b
xor ecx, ecx
mov byte [esp + 0x17], al
mov al, byte [esp + ecx + 0x15]
xor al, dl
mov byte [ecx + 0x65b898], al
inc ecx
cmp ecx, ebp
jb 0x4a0ebe
push ecx
lea edx, [esp + 0x28]
mov byte [0x65b89b], 0
mov ecx, 0x65b898
call fcn.004e136c
movss xmm1, dword [0x50e328]
xorps xmm0, xmm0
pop ecx
call fcn.004c99b6
and dword [esp + 0x24], 0
lea edx, [esp + 0x24]
and dword [esp + 0x28], 0
push ecx
mov ecx, ebx
call fcn.004e136c
pop ecx
xor ecx, ecx
inc ecx
call fcn.004beb47
call fcn.004c739e
push dword [esp + 0x14]
push ecx
lea ecx, [esp + 0x3c]
call fcn.004a5777
xor ebx, ebx
mov edx, ebx
mov cl, byte [edx + eax + 1]
xor cl, byte [eax]
mov byte [edx + 0x65b8c8], cl
inc edx
cmp edx, 0x13
jb 0x4a0f2c
push 0x65ad81
push 0x65b8c8
mov byte [0x65b8db], bl
call fcn.004f10f5
call fcn.004c73f2
mov ecx, 0x503dbe
call fcn.004e311c
xorps xmm0, xmm0
call fcn.004c9b59
jmp 0x4a0f79
cmp eax, 6
jne 0x4a0f76
call fcn.004a89ae
push 0x7e
pop edi
call fcn.004c2cc5
push ebx
push ecx
lea eax, [esp + 0x2c]
mov dword [esp + 0x2c], 0x43eb0000
push eax
mov edx, ebp
mov dword [esp + 0x34], 0x42a00000
xor ecx, ecx
call fcn.004c2ab2
add esp, 0xc
test al, al
je 0x4a107a
lea ecx, [esp + 0x24]
call fcn.004c9d94
movss xmm1, dword [eax + 4]
mov eax, dword [0x65a600]
subss xmm1, dword [0x50e274]
mov eax, dword [eax + 0x3e48]
mulss xmm1, dword [0x50e140]
movss xmm0, dword [eax + 0xf4]
subss xmm0, dword [eax + 0x18]
addss xmm0, dword [eax + 0x7c]
addss xmm0, xmm1
call fcn.004c9ace
call fcn.00499918
call fcn.004e2a3e
push esi
mov ecx, 0x659578
mov dword [esp + 0x28], 0x42200000
mov dword [esp + 0x2c], 0x41f00000
call fcn.004a64ab
xor edx, edx
mov byte [esp + 0x18], bl
div edi
mov ecx, ebx
inc dl
mov al, dl
mov byte [esp + 0x14], dl
xor al, 0xef
mov byte [esp + 0x15], al
mov al, dl
xor al, 0x80
mov byte [esp + 0x16], al
mov al, dl
xor al, 0x91
mov byte [esp + 0x17], al
mov al, byte [esp + ecx + 0x15]
xor al, dl
mov byte [ecx + 0x65b7bc], al
inc ecx
cmp ecx, ebp
jb 0x4a103a
push ecx
lea edx, [esp + 0x28]
mov byte [0x65b7bf], bl
mov ecx, 0x65b7bc
call fcn.004e136c
pop ecx
test al, al
jne 0x4a108e
movss xmm1, dword [0x50e328]
xorps xmm0, xmm0
call fcn.004c99b6
call fcn.00498f3a
call fcn.004c2cc5
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x84
jmp fcn.004c6e16
call fcn.00499837
int3