Function at 0x678d41a0
Capabilities:
Create thread
Encode data using xor

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 0x6793f090
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xf4
mov eax, dword [0x67ad7034]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
cmp byte [0x67b723dc], 0
jne 0x678d4394
push 0xc0
lea eax, [ebp - 0xd8]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 8
lea ecx, [ebp - 0xd8]
call fcn.6788ccf0
mov dword [ebp - 4], 0
mov eax, dword fs:[0x2c]
mov ecx, dword [0x67b38b00]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x67b73140]
cmp eax, dword [ecx + 4]
jle 0x678d4283
push 0x67b73140
call fcn.679349cb
add esp, 4
cmp dword [0x67b73140], 0xffffffff
jne 0x678d4283
mov dword [0x67b73168], 0
push 0x67941890
mov dword [0x67b73178], 0
mov dword [0x67b7317c], 0xf
mov byte [ebp - 4], 0
call fcn.6793484d
add esp, 4
push 0x67b73140
call fcn.67934981
add esp, 4
mov dword [ebp - 0xe4], 0xc7ceabd3
xor ecx, ecx
mov dword [ebp - 0xe0], 0xfbb8d7d9
mov dword [ebp - 0xdc], 0x100faf1
mov al, cl
sub al, 0x70
xor byte [ebp + ecx - 0xe4], al
inc ecx
cmp ecx, 0xa
jb 0x678d42a3
push ecx
push 1
lea eax, [ebp - 0xe4]
mov byte [ebp - 0xd9], 0
push eax
lea ecx, [ebp - 0xc0]
call fcn.6788f540
test eax, eax
lea ecx, [ebp - 0xd8]
mov eax, dword [ebp - 0xd8]
push 0
mov eax, dword [eax + 4]
je 0x678d42f1
add ecx, eax
push 0
call dword [sym.imp.msvcp140.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::clear_int__bool_]
jmp 0x678d42fb
add ecx, eax
push 2
call dword [sym.imp.msvcp140.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool_]
mov eax, dword [ebp - 0xd8]
lea ecx, [ebp - 0xd8]
push 0xa
mov eax, dword [eax + 4]
add ecx, eax
call dword [sym.imp.msvcp140.dll_public:_char___thiscall_std::basic_ios_char__struct_std::char_traits_char__::widen_char_const]
push eax
mov edx, 0x67b73168
lea ecx, [ebp - 0xd8]
call fcn.67891c60
add esp, 4
lea ecx, [ebp - 0xc0]
call fcn.6788f4c0
test eax, eax
jne 0x678d4352
mov eax, dword [ebp - 0xd8]
lea ecx, [ebp - 0xd8]
push 0
push 2
mov eax, dword [eax + 4]
add ecx, eax
call dword [sym.imp.msvcp140.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool_]
cmp dword [0x67b7317c], 0x10
lea ecx, [ebp - 0xd8]
mov esi, 0x67b73168
cmovae esi, dword [0x67b73168]
mov dword [ebp - 4], 0xffffffff
call fcn.67885750
mov ecx, 0x67b722b0
sub ecx, esi
nop
mov al, byte [esi]
lea esi, [esi + 1]
mov byte [ecx + esi - 1], al
test al, al
jne 0x678d4380
mov byte [0x67b723dc], 1
movss xmm1, dword [0x67ac4418]
mov ecx, 0x34
call fcn.677e07f0
mov edx, eax
movss xmm1, dword [0x67ac4330]
movzx ecx, dl
shr eax, 8
movzx eax, al
push 0
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
push ecx
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0
addsd xmm0, qword [ecx*8 + 0x67ac5420]
lea ecx, [ebp - 0xf8]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0xf8], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x67ac5420]
mov eax, edx
shr edx, 0x18
shr eax, 0x10
movzx eax, al
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0xf4], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x67ac5420]
mov eax, dword [0x67b72258]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0xf0], xmm0
movd xmm0, edx
cvtdq2pd xmm0, xmm0
shr edx, 0x1f
addsd xmm0, qword [edx*8 + 0x67ac5420]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
xorps xmm1, xmm1
movss dword [ebp - 0xec], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x67ac5420]
mov eax, dword [0x67b72254]
cvtpd2ps xmm0, xmm0
addss xmm0, xmm1
movss dword [ebp - 0x100], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x67ac5420]
mov dword [esp], 0
cvtpd2ps xmm0, xmm0
addss xmm0, xmm1
movss dword [ebp - 0xfc], xmm0
call fcn.677df220
mov ecx, dword [0x67b6c1b4]
push eax
lea eax, [ebp - 0x100]
push eax
mov ecx, dword [ecx]
lea eax, [ebp - 0xe0]
push eax
call fcn.67830710
mov ecx, dword [0x67b38b68]
mov eax, dword [ecx + 0x47a4]
mov eax, dword [eax]
movss xmm2, dword [eax + 0xc]
movss xmm1, dword [eax + 0x10]
mulss xmm2, dword [0x67ac43bc]
mulss xmm1, dword [0x67ac43bc]
addss xmm2, dword [eax + 4]
addss xmm1, dword [eax + 8]
or dword [ecx + 0x46d8], 3
mov edx, 0x67b37555
movss dword [ecx + 0x46e8], xmm2
movss dword [ecx + 0x46ec], xmm1
mov dword [ecx + 0x46f0], 0x3f000000
mov dword [ecx + 0x46f4], 0x3f000000
mov dword [ecx + 0x46dc], 4
mov dword [ecx + 0x46f8], 0xbf800000
mov dword [ecx + 0x46fc], 0xbf800000
mov dword [ecx + 0x46e0], 1
mov ecx, 0x67ac2c30
push 0x22
call fcn.677e8f10
add esp, 4
cmp dword [0x67b37568], 0
je 0x678d45c1
cmp dword [0x67b3756c], 0x10
mov eax, 0x67b37558
movups xmm0, xmmword [0x67b37570]
cmovae eax, dword [0x67b37558]
push eax
lea eax, [ebp - 0xf8]
push eax
movups xmmword [ebp - 0xf8], xmm0
call fcn.67844480
add esp, 8
push 0x67ac2c3c
call fcn.678443f0
movss xmm1, dword [0x67ac4728]
add esp, 4
xorps xmm0, xmm0
call fcn.677eecb0
mov ecx, 0x67ac2c58
call fcn.678bda30
movss xmm1, dword [0x67ac4728]
xorps xmm0, xmm0
call fcn.677eecb0
movss xmm0, dword [0x67ac4728]
call fcn.677eeea0
push 0
push 0
push 0x8000
lea eax, [ebp - 0xe0]
mov dword [ebp - 0xe0], 0
push eax
push 0x104
push 0x67b722b0
xor edx, edx
mov dword [ebp - 0xdc], 0
mov ecx, 0x67ac2c68
call fcn.6784f2e0
mov esi, dword [0x67b38b68]
add esp, 0x18
mov eax, dword [esi + 0x3e28]
mov byte [eax + 0xa8], 1
mov edx, dword [esi + 0x3e28]
mov ecx, dword [edx + 0x1a4]
mov eax, dword [edx + 0x1ac]
mov eax, dword [eax + ecx*4 - 4]
mov dword [edx + 0x19c], eax
lea eax, [ecx - 1]
mov dword [edx + 0x1a4], eax
mov eax, dword [esi + 0x3e28]
mov byte [eax + 0xa8], 1
mov eax, dword [esi + 0x3e28]
cmp byte [eax + 0xab], 0
jne 0x678d46bd
movss xmm1, dword [0x67ac4728]
lea ecx, [ebp - 0xe0]
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0
call fcn.677ee930
push 0
lea edx, [ebp - 0xe0]
mov dword [ebp - 0xe0], 0x43b90000
mov ecx, 0x67ac2c44
mov dword [ebp - 0xdc], 0
call fcn.67845470
mov esi, dword [sym.imp.kernel32.dll_CloseHandle]
add esp, 4
test al, al
je 0x678d4708
push 0
push 0
push 0
push 0x678d2020
push 0
push 0
call dword [sym.imp.kernel32.dll_CreateThread]
push eax
call esi
call fcn.677eb7b0
cmp byte [0x67b37555], 0
jne 0x678d472e
push 0
push 0
push 0
push 0x678bbb20
push 0
push 0
call dword [sym.imp.kernel32.dll_CreateThread]
push eax
call esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.679343f5
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret