Function at 0x678d8380
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6793f1d9
mov eax, dword fs:[0]
push eax
sub esp, 0x5c
mov eax, dword [0x67ad7034]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
xor ebx, ebx
mov dword [ebp - 0x30], ebx
mov eax, dword [0x67b6b48c]
test byte [eax + 4], 6
jne 0x678d83cd
push 0x67ac39ac
call fcn.678443f0
add esp, 4
jmp 0x678d969a
push 0
push 1
lea edx, [ebp - 0x34]
mov dword [ebp - 0x34], 0x43160000
mov ecx, 0x67ac2c4c
mov dword [ebp - 0x30], ebx
call fcn.677e67b0
movaps xmm0, xmmword [0x67ac4940]
add esp, 8
movups xmmword [ebp - 0x48], xmm0
mov byte [ebp - 0x38], 1
xor ecx, ecx
nop dword [eax]
mov al, cl
sub al, 0x70
xor byte [ebp + ecx - 0x48], al
inc ecx
cmp ecx, 0xf
jb 0x678d8400
mov edx, 0x67b375b8
mov byte [ebp - 0x38], bl
lea ecx, [ebp - 0x48]
call fcn.67846e50
cmp byte [0x67b375b8], bl
je 0x678d853e
mov dword [ebp - 0x44], 0xb305177f
xor ecx, ecx
mov dword [ebp - 0x40], 0xb7f8e0d3
mov dword [ebp - 0x3c], 0xf5f3f2eb
mov word [ebp - 0x38], 0x100
mov al, cl
sub al, 0x70
xor byte [ebp + ecx - 0x44], al
inc ecx
cmp ecx, 0xc
jb 0x678d8447
mov edx, 0x67b375b9
mov byte [ebp - 0x37], bl
lea ecx, [ebp - 0x44]
call fcn.67846e50
mov dword [ebp - 0x48], 0xb90b0279
xor ecx, ecx
mov dword [ebp - 0x44], 0xe9f3f7d9
mov dword [ebp - 0x40], 0xcad3bff6
mov dword [ebp - 0x3c], 0x100cdcb
mov al, cl
sub al, 0x6a
xor byte [ebp + ecx - 0x48], al
inc ecx
cmp ecx, 0xe
jb 0x678d8483
mov edx, 0x67b375ba
mov byte [ebp - 0x39], bl
lea ecx, [ebp - 0x48]
call fcn.67846e50
movaps xmm0, xmmword [0x67ac5b60]
xor ecx, ecx
movups xmmword [ebp - 0x48], xmm0
mov word [ebp - 0x38], 0x100
mov al, cl
sub al, 0x6a
xor byte [ebp + ecx - 0x48], al
inc ecx
cmp ecx, 0x10
jb 0x678d84b4
mov edx, 0x67b375bb
mov byte [ebp - 0x37], bl
lea ecx, [ebp - 0x48]
call fcn.67846e50
movaps xmm0, xmmword [0x67ac5a90]
xor ecx, ecx
movups xmmword [ebp - 0x48], xmm0
mov word [ebp - 0x38], 0x100
mov al, cl
sub al, 0x6a
xor byte [ebp + ecx - 0x48], al
inc ecx
cmp ecx, 0x10
jb 0x678d84e5
mov edx, 0x67b375bc
mov byte [ebp - 0x37], bl
lea ecx, [ebp - 0x48]
call fcn.67846e50
mov dword [ebp - 0x44], 0xb320177f
xor ecx, ecx
mov dword [ebp - 0x40], 0xf3f7f0d0
mov dword [ebp - 0x3c], 0xe2f6fa
mov byte [ebp - 0x38], 1
nop
mov al, cl
sub al, 0x70
xor byte [ebp + ecx - 0x44], al
inc ecx
cmp ecx, 0xb
jb 0x678d8520
mov edx, 0x67b375bd
mov byte [ebp - 0x38], bl
lea ecx, [ebp - 0x44]
call fcn.67846e50
call fcn.677e6830
movss xmm1, dword [0x67ac4728]
xorps xmm0, xmm0
call fcn.677eecb0
mov ecx, 2
call fcn.67847f60
movss xmm1, dword [0x67ac4728]
xorps xmm0, xmm0
call fcn.677eecb0
push 0
push 1
lea edx, [ebp - 0x34]
mov dword [ebp - 0x34], ebx
mov ecx, 0x67ac2dbc
mov dword [ebp - 0x30], ebx
call fcn.677e67b0
add esp, 8
xor edx, edx
mov ecx, 0x67ac39d0
call fcn.6785c870
test al, al
je 0x678d9695
cmp byte [0x67b375b9], bl
je 0x678d905e
mov dword [ebp - 0x44], 0xb305177f
xor ecx, ecx
mov dword [ebp - 0x40], 0xb7f8e0d3
mov dword [ebp - 0x3c], 0xf5f3f2eb
mov word [ebp - 0x38], 0x100
mov al, cl
sub al, 0x70
xor byte [ebp + ecx - 0x44], al
inc ecx
cmp ecx, 0xc
jb 0x678d85c4
mov esi, dword [0x67b38b68]
mov byte [ebp - 0x37], bl
mov eax, dword [esi + 0x3e28]
cmp byte [eax + 0xab], bl
jne 0x678d905e
mov esi, dword [esi + 0x4a1c]
test esi, esi
je 0x678d905e
push 0
push 0
push 0
lea edx, [ebp - 0x44]
mov ecx, esi
call fcn.6785e080
add esp, 0xc
test al, al
je 0x678d905e
movsx eax, word [esi + 0x6c]
imul ecx, eax, 0x2c
add ecx, dword [esi + 8]
mov ecx, dword [ecx]
call fcn.677ec6e0
mov esi, dword [0x67b38b68]
xor edx, edx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], ebx
mov eax, dword [esi + 0x3e28]
mov ecx, dword [eax + 0xe0]
mov eax, dword [eax + 0xe8]
push dword [eax + ecx*4 - 4]
mov ecx, 0x67ac39dc
call fcn.677dea60
mov edi, eax
add esp, 4
cmp dword [esi + 0x3e5c], edi
jne 0x678d8677
push ecx
push 0x67ac39dc
mov edx, 0xb
mov ecx, edi
call fcn.677fe2f0
add esp, 8
push ecx
mov dword [esp], ebx
lea eax, [ebp - 0x34]
push eax
push 0x2000792
push 3
mov edx, edi
mov ecx, 0x67ac39dc
call fcn.6783a870
add esp, 0x10
test al, al
je 0x678d9059
movss xmm2, dword [0x67ac4624]
mov edx, 0x10
push 0
mov ecx, 0x67ac3a04
call fcn.6783d5e0
add esp, 4
xorps xmm2, xmm2
mov edx, 8
mov ecx, 0x67ac3a18
push 0
call fcn.6783d5e0
movss xmm2, dword [0x67ac463c]
add esp, 4
mov edx, 0x10
mov ecx, 0x67ac39ec
push 0
call fcn.6783d5e0
add esp, 4
call fcn.6783f840
call fcn.6783e190
push 0x67ac3a00
call fcn.678443f0
add esp, 4
call fcn.6783e190
call fcn.6783e190
call fcn.6783e190
sub esp, 0x18
mov ecx, esp
mov dword [ecx], ebx
push 3
push 0x67abdea0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov dword [ebp - 4], 0xffffffff
call fcn.677d7ac0
mov ecx, 0x67b6cef8
call fcn.678d7d10
mov ecx, esp
mov dword [ecx], 0
push 4
push 0x67abde2c
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov dword [ebp - 4], 0xffffffff
call fcn.677d7ac0
mov ecx, 0x67b6cec8
call fcn.678d7d10
mov ecx, esp
mov dword [ecx], 0
push 6
push 0x67abde14
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov dword [ebp - 4], 0xffffffff
call fcn.677d7ac0
mov ecx, 0x67b6cf10
call fcn.678d7d10
mov ecx, esp
mov dword [ecx], 0
push 5
push 0x67abde44
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov dword [ebp - 4], 0xffffffff
call fcn.677d7ac0
mov ecx, 0x67b6cee0
call fcn.678d7d10
mov ecx, esp
mov dword [ecx], 0
push 3
push 0x67abdde8
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov dword [ebp - 4], 0xffffffff
call fcn.677d7ac0
mov ecx, 0x67b6cf28
call fcn.678d7d10
mov ecx, esp
mov dword [ecx], 0
push 4
push 0x67abddfc
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov dword [ebp - 4], 0xffffffff
call fcn.677d7ac0
mov ecx, 0x67b6cf40
call fcn.678d7d10
mov ecx, esp
mov dword [ecx], 0
push 5
push 0x67abe500
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov dword [ebp - 4], 0xffffffff
call fcn.677d7ac0
mov ecx, 0x67b6cf58
call fcn.678d7d10
mov ecx, esp
mov dword [ecx], 0
push 5
push 0x67abe198
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov dword [ebp - 4], 0xffffffff
call fcn.677d7ac0
mov ecx, 0x67b6cf70
call fcn.678d7d10
mov ecx, esp
mov dword [ecx], 0
push 3
push 0x67abde8c
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov dword [ebp - 4], 0xffffffff
call fcn.677d7ac0
mov ecx, 0x67b6cfa0
call fcn.678d7d10
mov ecx, esp
mov dword [ecx], 0
push 5
push 0x67ac2ab4
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov dword [ebp - 4], 0xffffffff
call fcn.677d7ac0
mov ecx, 0x67b6cf88
call fcn.678d7d10
mov ecx, esp
mov dword [ecx], 0
push 5
push 0x67abe1d4
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov dword [ebp - 4], 0xffffffff
call fcn.677d7ac0
mov ecx, 0x67b6d198
call fcn.678d7d10
mov ecx, esp
mov dword [ecx], 0
push 4
push 0x67abe208
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov dword [ebp - 4], 0xffffffff
call fcn.677d7ac0
mov ecx, 0x67b6d180
call fcn.678d7d10
mov ecx, esp
mov dword [ecx], 0
push 4
push 0x67ac2af8
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov dword [ebp - 4], 0xffffffff
call fcn.677d7ac0
mov ecx, 0x67b6d1b0
call fcn.678d7d10
push 0x67ac3a3c
call fcn.678443f0
add esp, 0x1c
call fcn.6783e190
call fcn.6783e190
call fcn.6783e190
sub esp, 0x18
mov ecx, esp
mov dword [ecx], 0
push 5
push 0x67abe230
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov dword [ebp - 4], 0xffffffff
call fcn.677d7ac0
mov ecx, 0x67b6cfb8
call fcn.678d7d10
mov ecx, esp
mov dword [ecx], 0
push 6
push 0x67ac2ae4
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov dword [ebp - 4], 0xffffffff
call fcn.677d7ac0
mov ecx, 0x67b6cfd0
call fcn.678d7d10
mov ecx, esp
mov dword [ecx], 0
push 9
push 0x67ac3114
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov dword [ebp - 4], 0xffffffff
call fcn.677d7ac0
mov ecx, 0x67b6cfe8
call fcn.678d7d10
mov ecx, esp
mov dword [ecx], 0
push 3
push 0x67abe1f0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov dword [ebp - 4], 0xffffffff
call fcn.677d7ac0
mov ecx, 0x67b6d150
call fcn.678d7d10
mov ecx, esp
mov dword [ecx], 0
push 0xa
push 0x67ac3a40
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov dword [ebp - 4], 0xffffffff
call fcn.677d7ac0
mov ecx, 0x67b6d258
call fcn.678d7d10
mov ecx, esp
mov dword [ecx], 0
push 3
push 0x67ac2ae0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov dword [ebp - 4], 0xffffffff
call fcn.677d7ac0
mov ecx, 0x67b6d000
call fcn.678d7d10
mov ecx, esp
mov dword [ecx], 0
push 3
push 0x67ac2af4
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov dword [ebp - 4], 0xffffffff
call fcn.677d7ac0
mov ecx, 0x67b6d270
call fcn.678d7d10
push 0x67ac3a2c
call fcn.678443f0
add esp, 0x1c
call fcn.6783e190
call fcn.6783e190
call fcn.6783e190
sub esp, 0x18
mov ecx, esp
mov dword [ecx], 0
push 6
push 0x67ac3a34
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov dword [ebp - 4], 0xffffffff
call fcn.677d7ac0
mov ecx, 0x67b6d018
call fcn.678d7d10
mov ecx, esp
mov dword [ecx], 0
push 3
push 0x67abda7c
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov dword [ebp - 4], 0xffffffff
call fcn.677d7ac0
mov ecx, 0x67b6d030
call fcn.678d7d10
mov ecx, esp
mov dword [ecx], 0
push 3
push 0x67abda50
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov dword [ebp - 4], 0xffffffff
call fcn.677d7ac0
mov ecx, 0x67b6d048
call fcn.678d7d10
mov ecx, esp
mov dword [ecx], 0
push 3
push 0x67abda4c
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov dword [ebp - 4], 0xffffffff
call fcn.677d7ac0
mov ecx, 0x67b6d060
call fcn.678d7d10
mov ecx, esp
mov dword [ecx], 0
push 4
push 0x67abe528
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov dword [ebp - 4], 0xffffffff
call fcn.677d7ac0
mov ecx, 0x67b6d078
call fcn.678d7d10
mov ecx, esp
mov dword [ecx], 0
push 3
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov dword [ebp - 4], 0xffffffff
push 0x67abdaac
call fcn.677d7ac0
mov ecx, 0x67b6d168
call fcn.678d7d10
mov ecx, esp
mov dword [ecx], 0
push 5
push 0x67ac2b00
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov dword [ebp - 4], 0xffffffff
call fcn.677d7ac0
mov ecx, 0x67b6d1c8
call fcn.678d7d10
mov ecx, esp
mov dword [ecx], 0
push 5
push 0x67ac2aec
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov dword [ebp - 4], 0xffffffff
call fcn.677d7ac0
mov ecx, 0x67b6d1e0
call fcn.678d7d10
mov ecx, esp
mov dword [ecx], 0
push 3
push 0x67abda60
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov dword [ebp - 4], 0xffffffff
call fcn.677d7ac0
mov ecx, 0x67b6d1f8
call fcn.678d7d10
mov ecx, esp
mov dword [ecx], 0
push 3
push 0x67abda5c
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov dword [ebp - 4], 0xffffffff
call fcn.677d7ac0
mov ecx, 0x67b6d210
call fcn.678d7d10
mov ecx, esp
mov dword [ecx], 0
push 3
push 0x67abda54
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov dword [ebp - 4], 0xffffffff
call fcn.677d7ac0
mov ecx, 0x67b6d228
call fcn.678d7d10
mov ecx, esp
mov dword [ecx], 0
push 4
push 0x67abda80
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov dword [ebp - 4], 0xffffffff
call fcn.677d7ac0
mov ecx, 0x67b6d240
call fcn.678d7d10
mov ecx, esp
mov dword [ecx], 0
push 6
push 0x67abe5ec
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov dword [ebp - 4], 0xffffffff
call fcn.677d7ac0
mov ecx, 0x67b6d090
call fcn.678d7d10
push 0x67ac3a5c
call fcn.678443f0
add esp, 0x1c
call fcn.6783e190
call fcn.6783e190
call fcn.6783e190
sub esp, 0x18
mov ecx, esp
mov dword [ecx], 0
push 4
push 0x67abdee8
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov dword [ebp - 4], 0xffffffff
call fcn.677d7ac0
mov ecx, 0x67b6d0a8
call fcn.678d7d10
mov ecx, esp
mov dword [ecx], 0
push 5
push 0x67ac318c
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov dword [ebp - 4], 0xffffffff
call fcn.677d7ac0
mov ecx, 0x67b6d0c0
call fcn.678d7d10
mov ecx, esp
mov dword [ecx], 0
push 4
push 0x67ac3a60
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov dword [ebp - 4], 0xffffffff
call fcn.677d7ac0
mov ecx, 0x67b6d0d8
call fcn.678d7d10
push 0x67ac3a4c
call fcn.678443f0
add esp, 0x1c
call fcn.6783e190
call fcn.6783e190
call fcn.6783e190
sub esp, 0x18
mov ecx, esp
mov dword [ecx], 0
push 6
push 0x67abe1a0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov dword [ebp - 4], 0xffffffff
call fcn.677d7ac0
mov ecx, 0x67b6d120
call fcn.678d7d10
mov ecx, esp
mov dword [ecx], 0
push 4
push 0x67abd444
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov dword [ebp - 4], 0xffffffff
call fcn.677d7ac0
mov ecx, 0x67b6d108
call fcn.678d7d10
mov ecx, esp
mov dword [ecx], 0
push 3
push 0x67abdf3c
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov dword [ebp - 4], 0xffffffff
call fcn.677d7ac0
mov ecx, 0x67b6d138
call fcn.678d7d10
mov ecx, esp
mov dword [ecx], 0
push 5
push 0x67abdf74
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov dword [ebp - 4], 0xffffffff
call fcn.677d7ac0
mov ecx, 0x67b6d2b8
call fcn.678d7d10
mov ecx, esp
mov dword [ecx], 0
push 4
push 0x67abdf54
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov dword [ebp - 4], 0xffffffff
call fcn.677d7ac0
mov ecx, 0x67b6d2d0
call fcn.678d7d10
push 0x67ac3a54
call fcn.678443f0
add esp, 0x1c
call fcn.6783e190
call fcn.6783e190
call fcn.6783e190
sub esp, 0x18
mov ecx, esp
mov dword [ecx], 0
push 3
push 0x67ac2adc
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov dword [ebp - 4], 0xffffffff
call fcn.677d7ac0
mov ecx, 0x67b6d0f0
call fcn.678d7d10
mov ecx, esp
mov dword [ecx], 0
push 0x67ac2b18
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov dword [ebp - 4], 0xffffffff
call fcn.677d7a90
mov ecx, 0x67b6d288
call fcn.678d7d10
mov ecx, esp
push 0x67ac2b20
call fcn.677d79c0
mov ecx, 0x67b6d2a0
call fcn.678d7d10
add esp, 0x18
call fcn.6783ce30
call fcn.6785dff0
cmp byte [0x67b375ba], 0
je 0x678d924f
push 0
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x48], 0xb90b0279
mov dword [ebp - 0x44], 0xe9f3f7d9
mov dword [ebp - 0x40], 0xcad3bff6
mov dword [ebp - 0x3c], 0x100cdcb
call fcn.678864a0
xor edx, edx
mov ecx, eax
call fcn.6785df80
add esp, 4
test al, al
je 0x678d924f
push ecx
lea eax, [ebp - 0x34]
mov dword [esp], 0
push eax
push 0x2000792
mov edx, 3
mov dword [ebp - 0x34], 0
mov ecx, 0x67ac39dc
mov dword [ebp - 0x30], 0
call fcn.6783a7f0
add esp, 0xc
test al, al
je 0x678d924a
movss xmm2, dword [0x67ac4624]
mov edx, 0x10
push 0
mov ecx, 0x67ac3a84
call fcn.6783d5e0
add esp, 4
xorps xmm2, xmm2
mov edx, 8
mov ecx, 0x67ac3a94
push 0
call fcn.6783d5e0
movss xmm2, dword [0x67ac463c]
add esp, 4
mov edx, 0x10
mov ecx, 0x67ac3a68
push 0
call fcn.6783d5e0
add esp, 4
call fcn.6783f840
call fcn.6783e190
sub esp, 0x18
mov ecx, esp
push 0x67ac3a7c
call fcn.677d79c0
mov ecx, 0x67b6d2e8
call fcn.678d7d10
mov ecx, esp
push 0x67ac3abc
call fcn.677d79c0
mov ecx, 0x67b6d300
call fcn.678d7d10
mov ecx, esp
push 0x67ac3ac0
call fcn.677d79c0
mov ecx, 0x67b6d318
call fcn.678d7d10
mov ecx, esp
push 0x67ac3aa8
call fcn.677d79c0
mov ecx, 0x67b6d330
call fcn.678d7d10
mov ecx, esp
push 0x67ac3ab0
call fcn.677d79c0
mov ecx, 0x67b6d348
call fcn.678d7d10
mov ecx, esp
push 0x67ac3ae0
call fcn.677d79c0
mov ecx, 0x67b6d360
call fcn.678d7d10
mov ecx, esp
push 0x67ac3ae8
call fcn.677d79c0
mov ecx, 0x67b6d378
call fcn.678d7d10
mov ecx, esp
push 0x67ac3ac8
call fcn.677d79c0
mov ecx, 0x67b6d390
call fcn.678d7d10
mov ecx, esp
push 0x67ac3ad4
call fcn.677d79c0
mov ecx, 0x67b6d3a8
call fcn.678d7d10
mov ecx, esp
push 0x67ac3b18
call fcn.677d79c0
mov ecx, 0x67b6d3c0
call fcn.678d7d10
mov ecx, esp
push 0x67ac3b24
call fcn.677d79c0
mov ecx, 0x67b6d3d8
call fcn.678d7d10
mov ecx, esp
push 0x67abe29c
call fcn.677d79c0
mov ecx, 0x67b6d3f0
call fcn.678d7d10
add esp, 0x18
call fcn.6783ce30
call fcn.6785dff0
cmp byte [0x67b375bb], 0
je 0x678d9435
movaps xmm0, xmmword [0x67ac5b60]
lea ecx, [ebp - 0x48]
push 0
movups xmmword [ebp - 0x48], xmm0
mov word [ebp - 0x38], 0x100
call fcn.6787f0f0
xor edx, edx
mov ecx, eax
call fcn.6785df80
add esp, 4
test al, al
je 0x678d9435
push ecx
lea eax, [ebp - 0x34]
mov dword [esp], 0
push eax
push 0x2000792
mov edx, 3
mov dword [ebp - 0x34], 0
mov ecx, 0x67ac39dc
mov dword [ebp - 0x30], 0
call fcn.6783a7f0
add esp, 0xc
test al, al
je 0x678d9430
movss xmm2, dword [0x67ac4624]
mov edx, 0x10
push 0
mov ecx, 0x67ac3af4
call fcn.6783d5e0
add esp, 4
xorps xmm2, xmm2
mov edx, 8
mov ecx, 0x67ac3b04
push 0
call fcn.6783d5e0
movss xmm2, dword [0x67ac463c]
add esp, 4
mov edx, 0x10
mov ecx, 0x67ac3b38
push 0
call fcn.6783d5e0
add esp, 4
call fcn.6783f840
call fcn.6783e190
sub esp, 0x18
mov ecx, esp
push 0x67abdc18
call fcn.677d79c0
mov ecx, 0x67b6d408
call fcn.678d7d10
mov ecx, esp
push 0x67abdc30
call fcn.677d79c0
mov ecx, 0x67b6d420
call fcn.678d7d10
mov ecx, esp
push 0x67abdbf0
call fcn.677d79c0
mov ecx, 0x67b6d438
call fcn.678d7d10
mov ecx, esp
push 0x67abdca0
call fcn.677d79c0
mov ecx, 0x67b6d450
call fcn.678d7d10
mov ecx, esp
push 0x67ac3b4c
call fcn.677d79c0
mov ecx, 0x67b6d468
call fcn.678d7d10
mov ecx, esp
push 0x67ac3b30
call fcn.677d79c0
mov ecx, 0x67b6d480
call fcn.678d7d10
mov ecx, esp
push 0x67abdc04
call fcn.677d79c0
mov ecx, 0x67b6d498
call fcn.678d7d10
mov ecx, esp
push 0x67abdc4c
call fcn.677d79c0
mov ecx, 0x67b6d4b0
call fcn.678d7d10
mov ecx, esp
push 0x67abdc70
call fcn.677d79c0
mov ecx, 0x67b6d4c8
call fcn.678d7d10
mov ecx, esp
push 0x67abdd30
call fcn.677d79c0
mov ecx, 0x67b6d4e0
call fcn.678d7d10
mov ecx, esp
push 0x67ac2be4
call fcn.677d79c0
mov ecx, 0x67b6d510
call fcn.678d7d10
mov ecx, esp
push 0x67ac2be8
call fcn.677d79c0
mov ecx, 0x67b6d4f8
call fcn.678d7d10
add esp, 0x18
call fcn.6783ce30
call fcn.6785dff0
movaps xmm0, xmmword [0x67ac5c30]
lea ecx, [ebp - 0x48]
push 0
movups xmmword [ebp - 0x48], xmm0
mov word [ebp - 0x38], 0x100
call fcn.6787f0f0
xor edx, edx
mov ecx, eax
call fcn.6785df80
add esp, 4
test al, al
je 0x678d9690
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x44], 0xfff0f0e4
mov dword [ebp - 0x40], 0xfefde6f1
mov word [ebp - 0x3c], 0xf6
mov byte [ebp - 0x3a], 1
call fcn.67893c00
push 0
push 0
lea edx, [ebp - 0x34]
mov ecx, eax
call fcn.677e67b0
add esp, 8
test al, al
je 0x678d968b
mov eax, dword fs:[0x2c]
mov ecx, dword [0x67b38b00]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x67b7302c]
cmp eax, dword [ecx + 4]
jle 0x678d9510
push 0x67b7302c
call fcn.679349cb
add esp, 4
cmp dword [0x67b7302c], 0xffffffff
jne 0x678d9510
push ecx
mov ecx, 0x67b73030
mov dword [ebp - 4], 0x2b
call fcn.677df5a0
push 0x679418f0
call fcn.6793484d
add esp, 4
mov dword [ebp - 4], 0xffffffff
push 0x67b7302c
call fcn.67934981
add esp, 4
push 0x67ac3b7c
xorps xmm2, xmm2
mov ecx, 0x67b73030
call fcn.677df640
push 0
push 0
lea edx, [ebp - 0x34]
mov dword [ebp - 0x34], 0
mov ecx, 0x67ac3b58
mov dword [ebp - 0x30], 0
call fcn.677e67b0
add esp, 4
lea eax, [ebp - 0x34]
mov edx, 2
mov dword [ebp - 0x34], 0
mov ecx, 0x67ac39dc
mov dword [ebp - 0x30], 0
mov dword [esp], 0
push eax
push 0x2000792
call fcn.6783a7f0
add esp, 0xc
test al, al
je 0x678d9681
movss xmm2, dword [0x67ac463c]
mov edx, 0x10
push 0
mov ecx, 0x67ac3b6c
call fcn.6783d5e0
add esp, 4
xorps xmm2, xmm2
mov edx, 8
mov ecx, 0x67ac3bc0
push 0
call fcn.6783d5e0
add esp, 4
call fcn.6783f840
call fcn.6783e190
mov ecx, 0x67b71900
xor esi, esi
call fcn.6788cde0
test eax, eax
je 0x678d967c
nop dword [eax]
push esi
call fcn.678dbd10
push eax
lea ecx, [ebp - 0x2c]
call fcn.67885430
push 0
lea ecx, [ebp - 0x2c]
mov dword [ebp - 4], 0x2c
call fcn.677d8260
push eax
mov ecx, 0x67b73030
call fcn.677df870
test al, al
jne 0x678d962a
mov edx, dword [ebp - 0x14]
lea ecx, [ebp - 0x64]
call fcn.67866f90
push 0
lea ecx, [ebp - 0x64]
or ebx, 3
call fcn.677d8260
push eax
mov ecx, 0x67b73030
call fcn.677df870
mov byte [ebp - 0x49], 0
test al, al
je 0x678d962e
mov byte [ebp - 0x49], 1
test bl, 1
je 0x678d963e
lea ecx, [ebp - 0x64]
and ebx, 0xfffffffe
call fcn.677d83e0
cmp byte [ebp - 0x49], 0
je 0x678d965a
sub esp, 0x1c
lea eax, [ebp - 0x2c]
mov ecx, esp
push eax
call fcn.67885430
call fcn.678d8240
add esp, 0x1c
lea ecx, [ebp - 0x2c]
mov dword [ebp - 4], 0xffffffff
call fcn.677d83e0
mov ecx, 0x67b71900
inc esi
call fcn.6788cde0
cmp esi, eax
jb 0x678d95d0
call fcn.6783ce30
call fcn.677e6830
call fcn.677e6830
call fcn.6785dff0
call fcn.6785ccc0
call fcn.677e6830
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.679343f5
mov esp, ebp
pop ebp
ret