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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov eax, dword [0x67ad7034]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push 0x67ac4090
call fcn.678443f0
movss xmm4, dword [0x67ac4728]
add esp, 4
movaps xmm1, xmm4
xorps xmm0, xmm0
xorps xmm5, xmm5
call fcn.677eecb0
movaps xmm1, xmm4
xorps xmm0, xmm0
call fcn.677eecb0
mov eax, dword [0x67b38b68]
mov edx, dword [eax + 0x3e28]
mov ecx, edx
cmp dword [ecx + 0x18c], 0
movss xmm0, dword [ecx + 0x224]
jne 0x678da826
cmp dword [eax + 0x49d0], 0
je 0x678da82e
movss xmm0, dword [ecx + 0x1f4]
subss xmm0, dword [edx + 0xec]
mov dword [ebp - 0x18], 0
subss xmm0, dword [0x67ac4634]
subss xmm0, dword [eax + 0x37e4]
mov byte [ecx + 0xa8], 1
mov eax, dword [eax + 0x3e28]
movss dword [ebp - 0x1c], xmm0
cmp byte [eax + 0xab], 0
jne 0x678da8be
movss xmm2, dword [eax + 0xec]
lea ecx, [ebp - 0x1c]
movaps xmm3, xmm2
movss dword [ebp - 0x14], xmm2
addss xmm3, xmm0
movss xmm0, dword [eax + 0xf0]
movaps xmm1, xmm0
movss dword [ebp - 0x10], xmm0
addss xmm1, xmm5
movss dword [ebp - 0xc], xmm3
movss dword [ebp - 8], xmm1
movaps xmm1, xmm4
call fcn.677ee930
push 0
push 0
xor edx, edx
lea ecx, [ebp - 0x14]
call fcn.677eea90
movss xmm4, dword [0x67ac4728]
add esp, 8
movaps xmm1, xmm4
xorps xmm0, xmm0
call fcn.677eecb0
mov dword [ebp - 0x1c], 0x42c80000
xor ecx, ecx
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x10], 0xb3fcf0d2
mov dword [ebp - 0xc], 0xf8f5f0e6
mov dword [ebp - 8], 0x100fdea
nop
mov al, cl
sub al, 0x70
xor byte [ebp + ecx - 0x10], al
inc ecx
cmp ecx, 0xa
jb 0x678da8f0
push 0
lea edx, [ebp - 0x1c]
mov byte [ebp - 5], 0
lea ecx, [ebp - 0x10]
call fcn.67845470
add esp, 4
test al, al
je 0x678da955
push 0
push 0
push 0
push 0x678a5520
push 0
push 0
call dword [sym.imp.kernel32.dll_CreateThread]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x678da955
mov ecx, dword [0x67b71948]
cmp ecx, dword [0x67b7194c]
je 0x678da94b
mov dword [ecx], eax
add dword [0x67b71948], 4
jmp 0x678da955
lea eax, [ebp - 0x18]
push eax
push ecx
call fcn.678ded80
push 0
push 1
lea edx, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0
mov ecx, 0x67ac4074
mov dword [ebp - 0x18], 0
call fcn.677e67b0
push 0x67ac407c
call fcn.678443f0
mov eax, dword [0x67b38b68]
add esp, 0xc
mov ecx, dword [eax + 0x3e28]
cmp byte [ecx + 0xab], 0
jne 0x678da9a7
mov ecx, dword [ecx + 0x194]
neg ecx
sbb ecx, ecx
add ecx, 6
call fcn.67847f60
mov edx, dword [0x67b6c1b4]
mov esi, dword [0x67b6d528]
mov dword [0x67b373a4], 0
mov byte [ebp - 0x18], 1
mov ecx, dword [edx + 0x28]
mov eax, dword [ebp - 0x18]
mov dword [0x67b373b4], eax
mov dword [0x67b373b0], ecx
mov ecx, dword [edx + 0x2c]
mov byte [ebp - 0x18], 1
mov eax, dword [ebp - 0x18]
mov dword [0x67b373bc], eax
mov dword [0x67b373b8], ecx
mov ecx, dword [edx + 0x30]
mov byte [ebp - 0x18], 1
mov eax, dword [ebp - 0x18]
mov dword [0x67b373c0], ecx
mov dword [0x67b373c4], eax
mov dword [0x67b373ac], 0x67ac404c
mov dword [0x67b373c8], 0
cmp dword [esi + 0x14], 0x10
mov edx, dword [esi + 0x10]
jb 0x678daa1b
mov esi, dword [esi]
push 0x67b373a0
mov ecx, esi
call fcn.678d2810
add esp, 4
cmp byte [0x67b38cb3], 0
je 0x678daa4b
sub esp, 8
mov eax, esp
push ecx
mov dword [eax], 0
mov dword [eax + 4], 0
call fcn.678bbcd0
call fcn.677e6830
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.679343f5
mov esp, ebp
pop ebp
ret