Function at 0x40f25b
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x84
movss xmm1, dword [0x523e80]
xor ecx, ecx
push ebx
push ebp
push esi
push edi
call fcn.0042e3d4
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [0x5ae7a8]
and dword [eax + 0x20], 0
call fcn.0040734a
call fcn.004097ef
cmp dword [0x5ae8d0], 0xf
mov ecx, 0x5ae8bc
push 0x80e2
cmova ecx, dword [0x5ae8bc]
xor edx, edx
call fcn.00434882
pop ecx
push dword [esp + 0x10]
push ecx
lea ecx, [esp + 0x70]
call fcn.00414fea
push ecx
push 0x12
lea ecx, [esp + 0x28]
mov esi, eax
call fcn.00412319
push 2
xor edx, edx
pop edi
mov ax, word [edx + esi + 2]
xor ax, word [esi]
cmp dword [esp + 0x34], 7
movzx ecx, ax
lea eax, [esp + 0x20]
cmova eax, dword [esp + 0x20]
mov word [edx + eax], cx
add edx, edi
cmp edx, 0x24
jb 0x40f2d0
cmp dword [esp + 0x34], 7
lea ecx, [esp + 0x20]
cmova ecx, dword [esp + 0x20]
call fcn.0041c46c
lea ecx, [esp + 0x20]
mov bl, al
call fcn.004128ca
test bl, bl
je 0x40fa89
mov eax, dword [0x5ae7a8]
mov eax, dword [eax + 0x3e48]
mov ecx, dword [eax + 0x14]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
call fcn.0043701f
mov esi, eax
call fcn.00430599
call fcn.004305b6
movss xmm2, dword [esp + 0x10]
lea ecx, [esp + 0x38]
movss xmm1, dword [esp + 0x14]
movaps xmm0, xmm2
xorps xmm3, xmm3
addss xmm0, xmm3
movss dword [esp + 0x18], xmm0
movaps xmm0, xmm1
addss xmm0, xmm3
movss dword [esp + 0x1c], xmm0
movss xmm0, dword [0x523fd8]
addss xmm2, xmm0
addss xmm1, xmm0
movaps xmm0, xmmword [0x524240]
movups xmmword [esp + 0x38], xmm0
movaps xmm0, xmmword [0x524280]
movups xmmword [esp + 0x48], xmm0
movaps xmm0, xmmword [0x5242c0]
movups xmmword [esp + 0x58], xmm0
movaps xmm0, xmmword [0x524240]
movss dword [esp + 0x10], xmm2
movss dword [esp + 0x14], xmm1
movups xmmword [esp + 0x20], xmm0
call fcn.0042d410
push eax
lea ecx, [esp + 0x4c]
call fcn.0042d410
push eax
lea ecx, [esp + 0x60]
call fcn.0042d410
push eax
lea ecx, [esp + 0x2c]
call fcn.0042d410
push eax
lea eax, [esp + 0x20]
mov ecx, esi
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.004480fb
call fcn.00404512
xor ebx, ebx
mov dword [esp + 0x10], 0x43eb0000
push ebx
push ecx
xor esi, esi
mov dword [esp + 0x1c], 0x43c80000
lea eax, [esp + 0x18]
inc esi
push eax
mov edx, esi
xor ecx, ecx
call fcn.004322f2
add esp, 0xc
push 3
pop ebp
test al, al
je 0x40f66b
movss xmm0, dword [0x523f7c]
call fcn.004392d6
push 0x5b01c0
mov ecx, 0x5ad988
mov dword [esp + 0x1c], 0x42960000
mov dword [esp + 0x20], 0x420c0000
call fcn.0041614b
xor edx, edx
mov byte [esp + 0x14], bl
push 0x7e
pop ecx
div ecx
mov ecx, ebx
inc dl
mov al, dl
mov byte [esp + 0x10], dl
xor al, 0xef
mov byte [esp + 0x11], al
mov al, dl
xor al, 0x8e
mov byte [esp + 0x12], al
mov al, dl
xor al, 0x92
mov byte [esp + 0x13], al
mov al, byte [esp + ecx + 0x11]
xor al, dl
mov byte [ecx + 0x5aed88], al
inc ecx
cmp ecx, ebp
jb 0x40f481
push ecx
lea edx, [esp + 0x1c]
mov byte [0x5aed8b], bl
mov ecx, 0x5aed88
call fcn.00450bac
pop ecx
test al, al
je 0x40f4b2
mov dword [0x52c370], esi
movss xmm1, dword [0x524028]
xorps xmm0, xmm0
call fcn.004391f5
push 0x5b01c0
mov ecx, 0x5ad988
mov dword [esp + 0x1c], 0x42960000
mov dword [esp + 0x20], 0x420c0000
call fcn.0041614b
xor edx, edx
mov byte [esp + 0x14], bl
push 0x7e
pop ecx
div ecx
mov ecx, ebx
inc dl
mov al, dl
mov byte [esp + 0x10], dl
xor al, 0xef
mov byte [esp + 0x11], al
mov al, dl
xor al, 0x95
mov byte [esp + 0x12], al
mov al, dl
xor al, 0x84
mov byte [esp + 0x13], al
mov al, byte [esp + ecx + 0x11]
xor al, dl
mov byte [ecx + 0x5aec44], al
inc ecx
cmp ecx, ebp
jb 0x40f50c
push ecx
lea edx, [esp + 0x1c]
mov byte [0x5aec47], bl
mov ecx, 0x5aec44
call fcn.00450bac
pop ecx
test al, al
je 0x40f53d
mov dword [0x52c370], edi
movss xmm1, dword [0x524028]
xorps xmm0, xmm0
call fcn.004391f5
movss xmm1, dword [0x524028]
xorps xmm0, xmm0
call fcn.004391f5
push 0x5b01c0
mov ecx, 0x5ad988
mov dword [esp + 0x1c], 0x42960000
mov dword [esp + 0x20], 0x420c0000
call fcn.0041614b
xor edx, edx
mov byte [esp + 0x14], bl
push 0x7e
pop ecx
div ecx
mov ecx, ebx
inc dl
mov al, dl
mov byte [esp + 0x10], dl
xor al, 0xef
mov byte [esp + 0x11], al
mov al, dl
xor al, 0x84
mov byte [esp + 0x12], al
mov al, dl
xor al, 0x9b
mov byte [esp + 0x13], al
mov al, byte [esp + ecx + 0x11]
xor al, dl
mov byte [ecx + 0x5b158c], al
inc ecx
cmp ecx, ebp
jb 0x40f5a7
push ecx
lea edx, [esp + 0x1c]
mov byte [0x5b158f], bl
mov ecx, 0x5b158c
call fcn.00450bac
pop ecx
test al, al
je 0x40f5dc
mov dword [0x52c370], 4
movss xmm1, dword [0x524028]
xorps xmm0, xmm0
call fcn.004391f5
push 0x5b01c0
mov ecx, 0x5ad988
mov dword [esp + 0x1c], 0x42960000
mov dword [esp + 0x20], 0x420c0000
call fcn.0041614b
xor edx, edx
mov byte [esp + 0x14], bl
push 0x7e
pop ecx
div ecx
mov ecx, ebx
inc dl
mov al, dl
mov byte [esp + 0x10], dl
xor al, 0xef
mov byte [esp + 0x11], al
mov al, dl
xor al, 0x80
mov byte [esp + 0x12], al
mov al, dl
xor al, 0x93
mov byte [esp + 0x13], al
mov al, byte [esp + ecx + 0x11]
xor al, dl
mov byte [ecx + 0x5aed38], al
inc ecx
cmp ecx, ebp
jb 0x40f636
push ecx
lea edx, [esp + 0x1c]
mov byte [0x5aed3b], bl
mov ecx, 0x5aed38
call fcn.00450bac
pop ecx
test al, al
je 0x40f66b
mov dword [0x52c370], 5
call fcn.00432505
push ebx
push ecx
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0x43eb0000
push eax
mov edx, esi
mov dword [esp + 0x20], 0x43c80000
xor ecx, ecx
call fcn.004322f2
add esp, 0xc
test al, al
je 0x40f96d
xorps xmm0, xmm0
call fcn.00439344
mov eax, dword [0x52c370]
cmp eax, esi
jne 0x40f6b6
call fcn.004194dc
jmp 0x40f96d
cmp eax, edi
jne 0x40f957
mov ecx, 0x475464
call fcn.0045295c
push 0x5ad670
push str.Bot_Script
call fcn.0046094a
mov esi, 0x473d7e
cmp byte [0x5ad670], bl
je 0x40f94e
push ecx
push 0x3f
push 0x5ad540
push fcn.00453000
mov edx, 0x5ae9d8
mov ecx, 0x475390
call fcn.00453060
add esp, 8
mov dword [esp + 0x20], 0x50
lea eax, [esp + 0x20]
mov dword [esp + 0x18], 0xa
mov ecx, str.Delay
push eax
lea eax, [esp + 0x1c]
push eax
push 0x5ad534
call fcn.004541b9
add esp, 0x14
mov ecx, esi
call fcn.0045295c
movss xmm3, dword [0x523e90]
lea eax, [esp + 0x10]
and dword [esp + 0x18], 0
mov esi, 0x475394
push 0xc
pop ebx
push ecx
push esi
push eax
lea eax, [esp + 0x24]
mov dword [esp + 0x1c], ebx
push eax
push 0x5ae6a8
push 4
pop edx
mov ecx, str.Hours
call fcn.00453b06
movss xmm3, dword [0x523e90]
lea eax, [esp + 0x24]
and dword [esp + 0x2c], 0
mov ecx, str.Minutes
push 0x37
pop edi
add esp, 0x10
mov dword [esp + 0x14], edi
push esi
push eax
lea eax, [esp + 0x24]
push eax
push 0x5ae698
push 4
pop edx
call fcn.00453b06
mov eax, dword [0x5ae6a8]
cmp eax, ebx
mov ecx, eax
cmovg ecx, ebx
xor edx, edx
test eax, eax
mov eax, dword [0x5ae698]
cmovs ecx, edx
cmp eax, edi
mov dword [0x5ae6a8], ecx
mov ecx, eax
cmovg ecx, edi
test eax, eax
cmovs ecx, edx
and dword [esp + 0x24], edx
and dword [esp + 0x28], edx
add esp, 0x10
mov dword [0x5ae698], ecx
lea edx, [esp + 0x14]
mov ecx, str.Run_Time
call fcn.00450bac
pop ecx
test al, al
je 0x40f827
imul eax, dword [0x5ae6a8], 0x3c
add eax, dword [0x5ae698]
imul eax, eax, 0x3c
test eax, eax
jle 0x40f827
lea ecx, [esp + 0x10]
mov byte [0x5ae590], 1
call fcn.00401dfc
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [0x5ae700], ecx
mov dword [0x5ae704], eax
movss xmm1, dword [0x524028]
xorps xmm0, xmm0
call fcn.004391f5
cmp byte [0x5ae590], 0
je 0x40f8fb
and dword [esp + 0x10], 0
lea edx, [esp + 0x10]
and dword [esp + 0x14], 0
push ecx
mov ecx, str.Cancel_Time
call fcn.00450bac
pop ecx
test al, al
je 0x40f86b
xor al, al
mov byte [0x5ae590], al
jmp 0x40f870
mov al, byte [0x5ae590]
test al, al
je 0x40f8fb
lea ecx, [esp + 0x10]
call fcn.00401dfc
mov ecx, dword [esp + 0x10]
sub ecx, dword [0x5ae700]
mov eax, dword [esp + 0x14]
sbb eax, dword [0x5ae704]
push 0
push 0x3b9aca00
push eax
push ecx
call fcn.00470010
imul ecx, dword [0x5ae6a8], 0x3c
mov dword [esp + 0x14], edx
add ecx, dword [0x5ae698]
imul edi, ecx, 0x3c
sub edi, eax
test edi, edi
jg 0x40f8d0
mov ecx, str.BrawlhallaGame.exe
mov byte [0x5ae590], 0
call fcn.00409072
jmp 0x40f8fb
mov eax, edi
mov ecx, 0xe10
cdq
idiv ecx
push 0x3c
mov esi, eax
mov ecx, edx
mov eax, edi
pop edi
cdq
idiv edi
mov eax, ecx
push edx
cdq
idiv edi
push eax
push esi
push str.Remaining_Time_To_Close:__02d:_02d:_02d
call fcn.004504e4
add esp, 0x10
call fcn.00436be1
mov esi, 0x473d7e
mov ecx, esi
call fcn.0045295c
push 0x5ae9ed
push str.Run_Script
call fcn.0046094a
xor ebx, ebx
cmp byte [0x5ae9ed], bl
je 0x40f92b
mov byte [0x5ae9e4], bl
push 0x5ae9e4
push str.Run_Bot
call fcn.0046094a
cmp byte [0x5ae9e4], 0
je 0x40f949
mov byte [0x5ae9ed], bl
call fcn.00436c35
mov ecx, esi
call fcn.0045295c
jmp 0x40f96d
cmp eax, 4
jne 0x40f963
call fcn.004186b8
jmp 0x40f96d
cmp eax, 5
jne 0x40f96d
call fcn.0041875e
call fcn.00432505
push ebx
push ecx
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0x43eb0000
push eax
mov edx, ebp
mov dword [esp + 0x20], 0x42a00000
xor ecx, ecx
call fcn.004322f2
add esp, 0xc
test al, al
je 0x40fa75
lea ecx, [esp + 0x10]
call fcn.004395d3
movss xmm1, dword [eax + 4]
mov eax, dword [0x5ae7a8]
subss xmm1, dword [0x523f74]
mov eax, dword [eax + 0x3e48]
mulss xmm1, dword [0x523e40]
movss xmm0, dword [eax + 0xf4]
subss xmm0, dword [eax + 0x18]
addss xmm0, dword [eax + 0x7c]
addss xmm0, xmm1
call fcn.0043930d
call fcn.00409126
call fcn.0045227e
push 0x5b01c0
mov ecx, 0x5ad988
mov dword [esp + 0x1c], 0x42200000
mov dword [esp + 0x20], 0x41f00000
call fcn.0041614b
xor edx, edx
mov byte [esp + 0x14], bl
push 0x7e
pop ecx
div ecx
mov ecx, ebx
inc dl
mov al, dl
mov byte [esp + 0x10], dl
xor al, 0xef
mov byte [esp + 0x11], al
mov al, dl
xor al, 0x80
mov byte [esp + 0x12], al
mov al, dl
xor al, 0x91
mov byte [esp + 0x13], al
mov al, byte [esp + ecx + 0x11]
xor al, dl
mov byte [ecx + 0x5b154c], al
inc ecx
cmp ecx, ebp
jb 0x40fa35
push ecx
lea edx, [esp + 0x1c]
mov byte [0x5b154f], bl
mov ecx, 0x5b154c
call fcn.00450bac
pop ecx
test al, al
jne 0x40fa89
movss xmm1, dword [0x524028]
xorps xmm0, xmm0
call fcn.004391f5
call fcn.00408748
call fcn.00432505
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x84
jmp fcn.00436659
call fcn.00409045
int3