Function at 0x40a850
Capabilities:
Encode data using xor
Execute command

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x483750
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x98
push esi
mov esi, dword [0x602c68]
lea eax, [ebp - 0x28]
push edi
push eax
mov dword [ebp - 0x28], 0x15
movups xmm0, xmmword [esi + 0x39b4]
lea ecx, [esi + 0x4758]
movups xmmword [ebp - 0x24], xmm0
call fcn.00453290
xorps xmm0, xmm0
lea eax, [ebp - 0x28]
movss dword [ebp - 0x8c], xmm0
mov dword [esi + 0x39b4], 0
mov dword [esi + 0x39b8], 0
mov dword [esi + 0x39bc], 0
mov dword [esi + 0x39c0], 0
mov esi, dword [0x602c68]
push eax
mov dword [ebp - 0x28], 0x16
movups xmm0, xmmword [esi + 0x39c4]
lea ecx, [esi + 0x4758]
movups xmmword [ebp - 0x24], xmm0
call fcn.00453290
mov dword [esi + 0x39c4], 0x3edf0952
lea eax, [ebp - 0x28]
mov dword [esi + 0x39c8], 0
mov dword [esi + 0x39cc], 0x3c455662
mov dword [esi + 0x39d0], 0x3f598b89
mov esi, dword [0x602c68]
push eax
mov dword [ebp - 0x28], 0x17
movups xmm0, xmmword [esi + 0x39d4]
lea ecx, [esi + 0x4758]
movups xmmword [ebp - 0x24], xmm0
call fcn.00453290
mov dword [esi + 0x39d4], 0
lea eax, [ebp - 0x28]
mov dword [esi + 0x39d8], 0
mov dword [esi + 0x39dc], 0
mov dword [esi + 0x39e0], 0
mov esi, dword [0x602c68]
push eax
mov dword [ebp - 0x28], 5
movups xmm0, xmmword [esi + 0x38b4]
lea ecx, [esi + 0x4758]
movups xmmword [ebp - 0x24], xmm0
call fcn.00453290
mov dword [esi + 0x38b4], 0
lea eax, [ebp - 0x28]
mov dword [esi + 0x38b8], 0
mov dword [esi + 0x38bc], 0
mov dword [esi + 0x38c0], 0
mov esi, dword [0x602c68]
push eax
mov dword [ebp - 0x28], 6
movups xmm0, xmmword [esi + 0x38c4]
lea ecx, [esi + 0x4758]
movups xmmword [ebp - 0x24], xmm0
call fcn.00453290
mov dword [esi + 0x38c4], 0
lea eax, [ebp - 0x28]
mov dword [esi + 0x38c8], 0
mov dword [esi + 0x38cc], 0
mov dword [esi + 0x38d0], 0
mov esi, dword [0x602c68]
push eax
mov dword [ebp - 0x28], 0
movups xmm0, xmmword [esi + 0x3864]
lea ecx, [esi + 0x4758]
movups xmmword [ebp - 0x24], xmm0
call fcn.00453290
mov dword [esi + 0x3864], 0x3f760419
mov ecx, 0x601e38
mov dword [esi + 0x3868], 0x3ea4dd2f
mov dword [esi + 0x386c], 0x3e6872b0
push 0x603108
mov dword [esi + 0x3870], 0x3f800000
call fcn.0041c780
xor edx, edx
mov edi, 0x7e
div edi
mov byte [ebp - 0x15], 0
inc dl
mov al, dl
mov byte [ebp - 0x1f], dl
xor al, 0x44
mov cl, dl
mov byte [ebp - 0x1d], al
xor cl, 0x20
mov al, dl
mov byte [ebp - 0x1e], cl
xor al, 0x69
mov byte [ebp - 0x16], cl
mov byte [ebp - 0x1c], al
lea ecx, [ebp - 0x1f]
mov al, dl
xor al, 0x73
mov byte [ebp - 0x1b], al
mov al, dl
xor al, 0x63
mov byte [ebp - 0x1a], al
mov al, dl
xor al, 0x6f
mov byte [ebp - 0x19], al
mov al, dl
xor al, 0x72
xor dl, 0x64
mov byte [ebp - 0x18], al
lea eax, [ebp - 0xa8]
push eax
mov byte [ebp - 0x17], dl
call fcn.00418660
mov dword [ebp - 4], 0
mov esi, dword [0x602c68]
cmp dword [ebp - 0x94], 0xf
mov eax, dword [esi + 0x3e48]
movss xmm1, dword [eax + 0x1c]
lea eax, [ebp - 0xa8]
cmova eax, dword [ebp - 0xa8]
movss dword [ebp - 0x18], xmm1
test eax, eax
je 0x40ab60
movss xmm3, dword [0x4ad1c8]
movss xmm2, dword [esi + 0x3bb8]
push 0
push 0
push eax
push ecx
mov ecx, dword [esi + 0x3bb4]
lea eax, [ebp - 0x90]
mov dword [esp], 0xbf800000
push eax
call fcn.00462e60
movss xmm0, dword [ebp - 0x90]
addss xmm0, dword [0x4ad070]
movss xmm1, dword [ebp - 0x18]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x8c], xmm0
mov eax, dword [esi + 0x3e48]
lea ecx, [ebp - 0xa8]
subss xmm1, dword [ebp - 0x8c]
lea edx, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov byte [eax + 0xac], 1
mov eax, dword [esi + 0x3e48]
mulss xmm1, dword [0x4ad038]
movss xmm0, dword [eax + 0x14]
subss xmm0, dword [eax + 0x78]
mov byte [eax + 0x131], 1
addss xmm0, xmm1
movss dword [eax + 0xf0], xmm0
cmp dword [ebp - 0x94], 0xf
cmova ecx, dword [ebp - 0xa8]
push ecx
call fcn.0046a0e0
add esp, 4
test al, al
je 0x40af59
push 0x603108
mov ecx, 0x601e38
call fcn.0041c780
xor edx, edx
div edi
mov dh, dl
inc dh
mov al, dh
mov byte [ebp - 0x12], dh
xor al, 0x61
mov byte [ebp - 0x54], dh
mov byte [ebp - 0x51], al
mov cl, dh
mov al, dh
xor cl, 0x74
xor al, 0x20
mov byte [ebp - 0x52], cl
mov byte [ebp - 0x4e], al
mov ch, dh
mov al, dh
mov byte [ebp - 0x4f], cl
xor al, 0x68
mov byte [ebp - 0x4c], cl
mov byte [ebp - 0x4d], al
xor ch, 0x73
mov al, dh
mov byte [ebp - 0x4b], cl
xor al, 0x70
mov byte [ebp - 0x53], ch
mov byte [ebp - 0x4a], al
mov cl, dh
mov al, dh
mov byte [ebp - 0x49], ch
xor al, 0x3a
mov byte [ebp - 0x43], ch
mov byte [ebp - 0x48], al
xor cl, 0x64
mov al, dh
mov byte [ebp - 0x45], cl
xor al, 0x69
mov byte [ebp - 0x3f], cl
mov byte [ebp - 0x44], al
mov ah, dh
mov al, dh
mov byte [ebp - 0x38], ch
xor al, 0x63
xor ah, 0x72
mov byte [ebp - 0x42], al
mov dl, dh
mov al, dh
mov byte [ebp - 0x50], ah
xor al, 0x6f
mov byte [ebp - 0x40], ah
mov byte [ebp - 0x41], al
xor dl, 0x2f
mov al, dh
mov byte [ebp - 0x47], dl
xor al, 0x2e
mov byte [ebp - 0x46], dl
mov byte [ebp - 0x3e], al
mov cl, dh
mov al, dh
mov byte [ebp - 0x3b], dl
xor al, 0x67
xor cl, 0x6a
mov byte [ebp - 0x3d], al
mov byte [ebp - 0x3c], al
mov al, dh
xor al, 0x53
mov byte [ebp - 0x39], cl
mov byte [ebp - 0x3a], al
mov al, dh
xor al, 0x37
mov byte [ebp - 0x36], cl
mov byte [ebp - 0x37], al
mov al, dh
xor al, 0x75
mov byte [ebp - 0x35], al
mov al, dh
xor al, 0x52
mov byte [ebp - 0x34], al
mov al, dh
mov byte [ebp - 0x30], 0
xor al, 0x43
xorps xmm0, xmm0
mov byte [ebp - 0x33], al
mov al, dh
xor al, 0x65
mov byte [ebp - 0x32], al
mov al, dh
xor al, 0x6d
push 0x30
mov byte [ebp - 0x31], al
movups xmmword [ebp - 0x2c], xmm0
call fcn.00481d9b
mov ch, byte [ebp - 0x12]
xorps xmm0, xmm0
mov dword [ebp - 0x2c], eax
add esp, 4
mov dword [ebp - 0x1c], 0x23
xor edx, edx
mov dword [ebp - 0x18], 0x2f
movups xmmword [eax], xmm0
movups xmmword [eax + 0x10], xmm0
mov dword [eax + 0x20], 0
nop word [eax + eax]
mov cl, byte [ebp + edx - 0x53]
lea eax, [ebp - 0x2c]
xor cl, ch
cmp dword [ebp - 0x18], 0xf
cmova eax, dword [ebp - 0x2c]
mov byte [eax + edx], cl
inc edx
cmp edx, 0x23
jb 0x40ad00
cmp dword [ebp - 0x18], 0xf
lea eax, [ebp - 0x2c]
cmova eax, dword [ebp - 0x2c]
push eax
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
mov ecx, dword [ebp - 0x18]
add esp, 4
cmp ecx, 0xf
jbe 0x40ad65
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40ad5b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x40ad5b
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.00482021
add esp, 8
push 0x603108
mov ecx, 0x601e38
call fcn.0041c780
xor edx, edx
div edi
inc dl
mov al, dl
mov byte [ebp - 0x11], dl
xor al, 0x61
mov byte [ebp - 0x88], dl
mov byte [ebp - 0x85], al
mov cl, dl
mov al, dl
xor cl, 0x73
xor al, 0x20
mov byte [ebp - 0x13], cl
mov byte [ebp - 0x82], al
mov ah, dl
mov al, dl
mov byte [ebp - 0x87], cl
xor al, 0x68
mov byte [ebp - 0x7d], cl
mov byte [ebp - 0x81], al
mov cl, dl
mov al, dl
xor cl, 0x2e
xor al, 0x70
mov byte [ebp - 0x76], cl
mov byte [ebp - 0x7e], al
xor ah, 0x74
mov al, dl
mov byte [ebp - 0x6e], cl
xor al, 0x3a
mov cl, byte [ebp - 0x11]
mov byte [ebp - 0x7c], al
mov dh, dl
mov al, dl
mov byte [ebp - 0x86], ah
xor al, 0x2f
mov byte [ebp - 0x83], ah
mov byte [ebp - 0x12], al
mov ch, dl
mov byte [ebp - 0x7b], al
xor ch, 0x6f
mov byte [ebp - 0x7a], al
xor dh, 0x72
mov al, dl
mov byte [ebp - 0x80], ah
xor al, 0x77
mov byte [ebp - 0x7f], ah
mov byte [ebp - 0x79], al
mov byte [ebp - 0x78], al
mov byte [ebp - 0x77], al
mov al, dl
xor al, 0x79
mov byte [ebp - 0x72], ah
mov ah, byte [ebp - 0x11]
mov byte [ebp - 0x75], al
xor ah, 0x65
mov al, dl
mov byte [ebp - 0x84], dh
xor al, 0x75
mov byte [ebp - 0x74], ch
mov byte [ebp - 0x73], al
xor dl, 0x62
mov byte [ebp - 0x71], al
mov al, cl
xor al, 0x63
mov byte [ebp - 0x70], dl
mov byte [ebp - 0x6d], al
mov al, cl
xor al, 0x6d
mov byte [ebp - 0x6f], ah
mov byte [ebp - 0x6b], al
mov al, byte [ebp - 0x12]
mov byte [ebp - 0x6a], al
mov al, cl
xor al, 0x40
mov byte [ebp - 0x6c], ch
mov byte [ebp - 0x69], al
mov al, cl
xor al, 0x46
mov byte [ebp - 0x66], dh
mov byte [ebp - 0x68], al
mov dh, cl
mov al, dh
mov byte [ebp - 0x65], dl
xor al, 0x6e
mov byte [ebp - 0x67], ch
mov byte [ebp - 0x60], al
mov dl, dh
mov al, dh
mov byte [ebp - 0x61], ah
xor al, 0x34
mov byte [ebp - 0x58], ah
mov byte [ebp - 0x5f], al
xor cl, 0x64
mov al, dh
mov byte [ebp - 0x63], cl
xor al, 0x35
mov byte [ebp - 0x62], cl
mov byte [ebp - 0x5e], al
xor dl, 0x69
mov al, dh
mov byte [ebp - 0x64], dl
xor al, 0x33
mov byte [ebp - 0x5a], dl
mov byte [ebp - 0x5d], al
xorps xmm0, xmm0
mov al, byte [ebp - 0x12]
mov byte [ebp - 0x5c], al
mov al, dh
xor al, 0x76
mov byte [ebp - 0x59], cl
mov byte [ebp - 0x5b], al
mov al, byte [ebp - 0x13]
push 0x40
mov byte [ebp - 0x57], ch
mov byte [ebp - 0x56], al
mov byte [ebp - 0x55], 0
movups xmmword [ebp - 0x48], xmm0
call fcn.00481d9b
add esp, 4
mov dword [ebp - 0x38], 0x32
mov esi, eax
mov dword [ebp - 0x34], 0x3f
mov dword [ebp - 0x48], esi
push 0x32
push 0
push esi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov byte [esi + 0x32], 0
xor edx, edx
nop
mov cl, byte [ebp + edx - 0x87]
lea eax, [ebp - 0x48]
xor cl, byte [ebp - 0x11]
cmp dword [ebp - 0x34], 0xf
cmova eax, dword [ebp - 0x48]
mov byte [eax + edx], cl
inc edx
cmp edx, 0x32
jb 0x40aef0
cmp dword [ebp - 0x34], 0xf
lea eax, [ebp - 0x48]
cmova eax, dword [ebp - 0x48]
push eax
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
mov ecx, dword [ebp - 0x34]
add esp, 4
cmp ecx, 0xf
jbe 0x40af59
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40af4f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x40af4f
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.00482021
add esp, 8
mov ecx, 4
call fcn.0043d2b0
mov ecx, dword [ebp - 0x94]
cmp ecx, 0xf
jbe 0x40af9f
mov edx, dword [ebp - 0xa8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40af95
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x40af95
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.00482021
add esp, 8
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret